El proceso de migración se bloquea durante una migración a Compute Engine

Durante las migraciones de Compute Engine a Google Kubernetes Engine, es posible que Migrate to Containers no reconozca el UUID del disco de la VM de origen. Puedes añadirlo manualmente:

  1. Carga los registros del pod con kubectl o Stackdriver.

  2. Si ves el mensaje [hcrunner] - Failed to find boot partition, sigue los pasos que se indican a continuación.

  3. Busca el UUID del disco de arranque que se muestra en uno de los mensajes. Será una cadena de valores hexadecimales. En el ejemplo siguiente, el UUID es 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. Elimina la carga de trabajo con su archivo YAML:

    kubectl delete -f
    
  5. Abre el archivo YAML en un editor de texto y busca la sección llamada env.

  6. Añade lo siguiente:

        - name: "HC_BOOTDEVICE_UUID"
          value: ""
    
  • Si ves el mensaje touch: cannot touch '/vlsdata/etc/fstab': No such file or directory, comprueba lo siguiente:

    • Las cargas de trabajo de tu controlador de CSI tienen el estado OK en la consola.
    • Tu carga de trabajo está en el mismo clúster que tu implementación de Migrate to Containers.
  • Si ves uno de los siguientes mensajes, elimina el PersistentVolumeClaim de la carga de trabajo que falla y vuelve a crearlo.

    • 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