Compute Engine 마이그레이션 중에 마이그레이션 프로세스가 중단됨

Compute Engine에서 Google Kubernetes Engine으로 마이그레이션하는 동안 Migrate to Containers에서 소스 VM 디스크의 UUID를 인식하지 못할 수 있습니다. 다음과 같이 수동으로 추가할 수 있습니다.

  1. kubectl 또는 Stackdriver를 사용하여 포드에 대한 로그를 로드합니다.

  2. [hcrunner] - Failed to find boot partition 메시지가 표시되는 경우 다음 단계를 계속 진행합니다.

  3. 메시지 중 하나에 출력되는 부팅 디스크의 UUID(16진수 값의 문자열)를 찾습니다. 아래 예시에서 UUID는 e823158e-f290-4f91-9c3d-6f33367ae0da입니다.

    [util] - SHELL OUTPUT: {"name": "/dev/sdb1", "partflags": null, "parttype":
    "0x83", "uuid": "<strong>e823158e-f290-4f91-9c3d-6f33367ae0da</strong>",
    "fstype": "ext4"}
    
  4. YAML 파일을 사용하여 기존 워크로드를 삭제합니다.

    kubectl delete -f
    
  5. 텍스트 편집기에서 YAML 파일을 열고 env라는 섹션을 찾습니다.

  6. 다음을 추가합니다.

        - name: "HC_BOOTDEVICE_UUID"
          value: ""
    
  • touch: cannot touch '/vlsdata/etc/fstab': No such file or directory 메시지가 표시되는 경우 다음을 확인하세요.

    • GKE 콘솔에서 CSI 드라이버 워크로드의 상태가 OK입니다.
    • 워크로드가 Migrate to Containers와 동일한 클러스터에 있습니다.
  • 다음 메시지 중 하나가 표시되면 워크로드의 실패한 PersistentVolumeClaim을 삭제하고 다시 만듭니다.

    • hcutil.Error: Failed mount -o rw None /vlsdata (32) (Output:mount: /vlsdata: special device None does not exist.
    • [hcrunner] - [Errno 30] Read-only file system: '/vlsdata/rootdir/etc/dhcp/dhclient-up-hooks