Processo de migração travado durante uma migração do Compute Engine

Durante as migrações do Compute Engine para o Google Kubernetes Engine, o Migrate to Containers pode não reconhecer o UUID do disco da VM de origem. É possível adicioná-lo manualmente:

  1. Carregue os registros do pod usando o kubectl ou o Stackdriver.

  2. Se você vir a mensagem [hcrunner] - Failed to find boot partition, continue com as etapas a seguir.

  3. Encontre o UUID para o disco de inicialização impresso em uma das mensagens, que será uma string de valores hexadecimais. No exemplo abaixo, o 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. Exclua a carga de trabalho atual usando o arquivo YAML:

    kubectl delete -f
    
  5. Abra o arquivo YAML em um editor de texto e encontre a seção chamada env.

  6. Adicione o seguinte:

        - name: "HC_BOOTDEVICE_UUID"
          value: ""
    
  • Se você vir a mensagem touch: cannot touch '/vlsdata/etc/fstab': No such file or directory, confira o seguinte:

    • As cargas de trabalho do seu driver CSI têm status OK no console do GKE.
    • A carga de trabalho está no mesmo cluster que a implantação do Migrate to Containers.
  • Se você receber uma das mensagens a seguir, exclua a PersistentVolumeClaim com falha da carga de trabalho e recrie-a.

    • 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