יצירת דיסק אתחול מותאם אישית

במאמר הזה מוסבר איך ליצור דיסקי אתחול מותאמים אישית למכונות וירטואליות (VM) ב-Google Distributed Cloud (GDC) עם air gap.

כשיוצרים מכונת VM, המערכת של Distributed Cloud יוצרת באופן אוטומטי דיסק אחסון מתמיד לאתחול עם הגדרות ברירת מחדל. צריך גם ליצור דיסק אתחול למכונה הווירטואלית. אפשר להשתמש בתמונה ציבורית או בתמונה בהתאמה אישית.

אם אתם צריכים דיסקים נוספים לאחסון נתונים במכונות, אתם יכולים להוסיף דיסק מתמיד למכונה הווירטואלית.

המסמך הזה מיועד למפתחים בקבוצות של מנהלי פלטפורמות או מפעילי אפליקציות, שיוצרים דיסקים מותאמים אישית לאתחול של מכונות וירטואליות. מידע נוסף מופיע במאמר קהלים למסמכי תיעוד של GDC עם air gap.

לפני שמתחילים

כדי להשתמש בפקודות של ממשק שורת הפקודה (CLI) של gdcloud, צריך לוודא שהורדתם, התקנתם והגדרתם את ה-CLI של gdcloud. כל הפקודות של Distributed Cloud משתמשות ב-CLI של gdcloud או kubectl, ודורשות סביבה של מערכת הפעלה (OS).

קבלת נתיב הקובץ של kubeconfig

כדי להריץ פקודות בשרת Management API, צריך לוודא שיש לכם את המשאבים הבאים:

  1. אם אין לכם קובץ kubeconfig לשרת Management API, נכנסים לחשבון ויוצרים אותו.

  2. בהוראות הבאות, מחליפים את MANAGEMENT_API_SERVER בנתיב לקובץ kubeconfig של שרת Management API.

בקשת תפקידים ב-IAM

פנו לאדמין של הפרויקט ב-IAM ובקשו ממנו להקצות לכם את התפקידים הבאים בפרויקט:

  • אדמין של פרויקט מכונות וירטואליות (project-vm-admin): יצירה, שינוי, הצגה ברשימה ומחיקה של מכונות וירטואליות רגילות ועם ביצועים גבוהים במרחב השמות של הפרויקט.

  • ‫Project Viewer‏(project-viewer): צפייה בכל המשאבים במרחב השמות של הפרויקט.

כל התפקידים של המכונה הווירטואלית חייבים להיות מקושרים למרחב השמות של הפרויקט שבו נמצאת המכונה הווירטואלית. פועלים לפי השלבים כדי לאמת את הגישה.

יצירת דיסק אתחול

אתם יכולים להשתמש בתהליכים שמתוארים בדף הזה כדי ליצור דיסקים לאתחול, שבהם תוכלו להשתמש בהמשך כדי ליצור מכונות וירטואליות.

יצירת דיסק אתחול מתמונה

אפשר ליצור דיסק אחסון מתמיד עצמאי לאתחול מחוץ ליצירת המכונה, ולצרף אותו למכונה לאחר מכן. בקטע הזה מוסבר איך ליצור דיסק אתחול מקובץ אימג' של מערכת ההפעלה שסופק על ידי GDC או מקובץ אימג' בהתאמה אישית של מערכת ההפעלה.

יצירת דיסק אתחול מתמונה שסופקה על ידי GDC

לפני שיוצרים דיסק אתחול באמצעות קובץ אימג' שסופק על ידי GDC, צריך לעיין ברשימת קובצי האימג' הזמינים. אחר כך יוצרים דיסק אתחול עם קובץ האימג' שסופק.

gdcloud

  1. מציגים את כל התמונות הזמינות ואת גודל הדיסק המינימלי שלהן:

    gdcloud compute images list
    

    הפקודה הזו כוללת גם תמונות שסופקו על ידי Distributed Cloud וגם תמונות בהתאמה אישית. בוחרים אחת מהן במרחב השמות vm-system.

  2. בוחרים תמונה שסופקה על ידי Distributed Cloud כדי ליצור את דיסק ה-VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=vm-system
    

    מחליפים את המשתנים לפי ההגדרות הבאות:

    משתנההגדרה
    BOOT_DISK_NAME שם דיסק האתחול.
    PROJECT הפרויקט ב-GDC שבו יוצרים את דיסק האתחול.
    DISK_SIZE גודל דיסק האתחול צריך להיות לפחות minimumDiskSize של קובץ האימג'.
    IMAGE_NAME שם התמונה.

kubectl

  1. מציגים את כל קובצי האימג' הזמינים שסופקו על ידי GDC:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. קבלת ה-minimumDiskSize של קובץ אימג' ספציפי שסופק על ידי GDC. הגודל של דיסק האתחול המותאם אישית שנוצר חייב להיות לפחות minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. יוצרים אובייקט VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    מחליפים את המשתנים לפי ההגדרות הבאות:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת Management API.
    IMAGE_NAME שם התמונה.
    PROJECT הפרויקט ב-GDC שבו יוצרים את דיסק האתחול.
    BOOT_DISK_NAME שם דיסק האתחול.
    DISK_SIZE גודל דיסק האתחול צריך להיות לפחות minimumDiskSize של קובץ האימג'.

יצירת דיסק אתחול מתמונה בהתאמה אישית

תמונה בהתאמה אישית שייכת באופן בלעדי לפרויקט שלכם. כדי ליצור מכונה וירטואלית עם קובץ אימג' בהתאמה אישית, קודם צריך ליצור קובץ אימג' בהתאמה אישית באותו פרויקט, אם עדיין אין לכם קובץ כזה.

אם עדיין לא עשיתם זאת, הגדירו את תפקידי ה-IAM שנדרשים כדי לגשת לתמונות בהתאמה אישית בפרויקט. ואז ממשיכים לפי ההוראות שכאן.

gdcloud

  1. מציגים את כל קובצי האימג' המותאמים אישית ואת גודל הדיסק המינימלי שלהם:

    gdcloud compute images list \
      --project=PROJECT
    
  2. בוחרים קובץ אימג' בהתאמה אישית כדי ליצור את הדיסק של ה-VM:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=PROJECT
    

    מחליפים את המשתנים לפי ההגדרות הבאות:

    משתנההגדרה
    BOOT_DISK_NAME שם דיסק האתחול.
    PROJECT הפרויקט ב-GDC שבו יוצרים את דיסק האתחול.
    DISK_SIZE גודל דיסק האתחול צריך להיות לפחות minimumDiskSize של קובץ האימג'.
    IMAGE_NAME שם התמונה.

API

  1. הצגת רשימה של כל התמונות בהתאמה אישית:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. משיגים את ה-minimumDiskSize של תמונה ספציפית בהתאמה אישית. הגודל של דיסק האתחול בהתאמה אישית שנוצר חייב להיות לפחות minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. יוצרים אובייקט VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    מחליפים את המשתנים לפי ההגדרות הבאות:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת Management API.
    IMAGE_NAME שם קובץ האימג' שנבחר מהפקודה list all custom images.
    PROJECT הפרויקט ב-GDC שבו יוצרים את דיסק האתחול.
    BOOT_DISK_NAME שם דיסק האתחול.
    DISK_SIZE גודל דיסק האתחול צריך להיות לפחות minimumDiskSize של קובץ האימג'.

מה השלב הבא?