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:
Carica i log del pod utilizzando kubectl o Stackdriver.
Se viene visualizzato il messaggio
[hcrunner] - Failed to find boot partition
, continua con i seguenti passaggi.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"}
Elimina il carico di lavoro esistente utilizzando il relativo file YAML:
kubectl delete -f
Apri il file YAML in un editor di testo e trova la sezione
env
.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