תהליך המיגרציה נתקע במהלך מיגרציה של Compute Engine

במהלך העברות מ-Compute Engine ל-Google Kubernetes Engine, יכול להיות שהכלי Migrate to Containers לא יזהה את ה-UUID של הדיסק של מכונת ה-VM של המקור. אפשר להוסיף אותו באופן ידני:

  1. טוענים את היומנים של ה-pod באמצעות kubectl או Stackdriver.

  2. אם מוצגת ההודעה [hcrunner] - Failed to find boot partition, ממשיכים לשלבים הבאים.

  3. מחפשים את ה-UUID של דיסק האתחול שמופיע באחת ההודעות. זה יהיה מחרוזת של ערכים הקסדצימליים. בדוגמה הבאה, ה-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, צריך לבדוק את הדברים הבאים:

    • סטטוס עומסי העבודה של מנהל התקן 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