Processo di migrazione bloccato durante una migrazione di Compute Engine

Durante le migrazioni da Compute Engine a Google Kubernetes Engine, Migrate to Containers potrebbe non riconoscere l'UUID del disco della VM di origine. Puoi aggiungerlo manualmente:

  1. Carica i log del pod utilizzando kubectl o Stackdriver.

  2. Se viene visualizzato il messaggio [hcrunner] - Failed to find boot partition, continua con i seguenti passaggi.

  3. Trova l'UUID per il disco di avvio stampato in uno dei messaggi, che sarà una stringa di valori esadecimali. Nell'esempio riportato di seguito, l'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. Elimina il carico di lavoro esistente utilizzando il relativo file YAML:

    kubectl delete -f
    
  5. Apri il file YAML in un editor di testo e trova la sezione env.

  6. Aggiungi quanto segue:

        - name: "HC_BOOTDEVICE_UUID"
          value: ""
    
  • Se viene visualizzato il messaggio touch: cannot touch '/vlsdata/etc/fstab': No such file or directory, controlla quanto segue:

    • Lo stato dei carichi di lavoro del driver CSI nella console è OK.
    • Il carico di lavoro si trova nello stesso cluster del deployment di Migrate to Containers.
  • Se viene visualizzato uno dei messaggi seguenti, elimina l'errore PersistentVolumeClaim del carico di lavoro e ricrealo.

    • 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