יצירה והפעלה של מכונה וירטואלית

יצירת מכונה וירטואלית (VM) באמצעות קובץ אימג' של דיסק אתחול או קובץ snapshot של דיסק אתחול. אפשר ליצור מכונה וירטואלית עם דיסק אחד או יותר, או להוסיף דיסקים מאוחר יותר. כשיוצרים מכונה וירטואלית ב-Google Distributed Cloud (GDC)‎ עם air gap, היא מופעלת באופן אוטומטי.

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

המסמך הזה מיועד למפתחים בקבוצות של אדמינים בפלטפורמה או של מפעילי אפליקציות, שיוצרים ומנהלים מכונות וירטואליות בסביבת GDC. מידע נוסף זמין במאמר קהלי היעד של מסמכי התיעוד של 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.

הנחיות למתן שמות למכונות וירטואליות

כשיוצרים מכונות וירטואליות, צריך לפעול לפי ההנחיות הבאות למתן שמות:

  • שמות של מכונות וירטואליות יכולים להכיל רק תווים אלפאנומריים ומקפים.
  • שימוש בסמלים שאינם תווים אלפאנומריים ומקפים, כמו נקודה, יגרום לכשלים בחיבור ל-VM.
  • שם ה-VM לא יכול להיות ארוך מ-53 תווים.

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

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

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

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

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

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

יצירת מכונה וירטואלית מתמונה

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

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

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

gdcloud

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

    gdcloud compute images list
    

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

API

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

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫MANAGEMENT_API_SERVER: קובץ ה-kubeconfig של שרת ה-API לניהול.
    • ‫BOOT_DISK_IMAGE_NAME: שם התמונה.

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

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

המסוף

  1. בתפריט הניווט, לוחצים על Virtual Machines > Instances.
  2. לוחצים על Create Instance.
  3. בשדה Name, נותנים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על Add Labels כדי להקצות תוויות למכונה הווירטואלית. כך אפשר לארגן את המכונות הווירטואליות.
  6. בוחרים את הגדרת המכונה שרוצים להשתמש בה למכונה הווירטואלית:
    1. למטרות כלליות: ודאו שסוג המכונה מתאים לדרישות של עומס העבודה.
    2. Custom: הגדרת מספר הליבות ודרישות הזיכרון של המכונה.
  7. לוחצים על הבא.
  8. אם רוצים לאפשר גישה חיצונית, בוחרים באפשרות גישה חיצונית מותרת.
  9. לוחצים על הבא.
  10. בקטע Boot disk, ‏GDC מוסיף באופן אוטומטי דיסק אתחול עם הגדרות ברירת מחדל. אפשר להשאיר את ההגדרות כמו שהן, או ללחוץ על Change כדי לשנות את הגדרות ברירת המחדל:
    1. בקטע Disk details, משנים את הערך של Disk name.
    2. בקטע Disk settings, משנים את הערך של Size.
    3. בקטע Source image, לוחצים על התפריט Image name ובוחרים אחת מהתמונות.
    4. בוחרים או מבטלים את הבחירה באפשרות הפעלת אתחול מאובטח. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.
    5. בוחרים באפשרות Keep disk או Delete disk כדי להגדיר את כלל המחיקה של הדיסק.
    6. לוחצים על Save.
  11. לוחצים על Create כדי ליצור את המכונה הווירטואלית.

gdcloud

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

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=vm-system \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    NO_BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי לשמור את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי למחוק את דיסק האתחול באופן אוטומטי.

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
    PROJECT הפרויקט ב-GDC שבו יוצרים את המכונה הווירטואלית.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
    BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי למחוק אוטומטית את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי לשמור אותו.
  2. מוודאים שהמכונה הווירטואלית נוצרה בהצלחה וממתינים עד שהיא תהיה במצב Running. המצב Running לא מציין שמערכת ההפעלה מוכנה ונגישה באופן מלא.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    מחליפים את VM_NAME ואת PROJECT בשם ובפרויקט של המכונה הווירטואלית.

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

יצירת מכונה וירטואלית מקובץ אימג' בהתאמה אישית

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

המסוף

  1. בתפריט הניווט, לוחצים על Virtual Machines > Instances.
  2. לוחצים על Create Instance.
  3. בשדה Name, נותנים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על Add Labels כדי להקצות תוויות למכונה הווירטואלית. כך אפשר לארגן את מכונות ה-VM.
  6. בוחרים את הגדרת המכונה שרוצים להשתמש בה למכונה הווירטואלית:
    1. למטרות כלליות: ודאו שסוג המכונה מתאים לדרישות של עומס העבודה.
    2. Custom: הגדרת מספר הליבות ודרישות הזיכרון של המכונה.
  7. לוחצים על הבא.
  8. מסמנים את התיבה Allow external access כדי לאפשר גישה חיצונית למכונה הווירטואלית.
  9. לוחצים על הבא.
  10. בקטע Boot disk, ‏GDC מוסיף באופן אוטומטי דיסק אתחול עם הגדרות ברירת מחדל. אפשר להשאיר את ההגדרות כמו שהן, או ללחוץ על Change כדי לשנות את הגדרות ברירת המחדל:

    1. בקטע Disk details, משנים את הערך של Disk name.
    2. בקטע Disk settings, משנים את הערך של Size.
    3. בקטע תמונת מקור, לוחצים על התפריט שם התמונה ובוחרים באחת מהתמונות עם כותרת המשנה נוצרה על ידי הלקוח.
    4. בוחרים או מבטלים את הבחירה באפשרות הפעלת אתחול מאובטח. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.

    5. בוחרים באפשרות Keep disk או Delete disk כדי להגדיר את כלל המחיקה של הדיסק.

    6. לוחצים על Save.

  11. לוחצים על Create כדי ליצור את המכונה הווירטואלית.

gdcloud

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

    gdcloud compute images list --no-standard-images=true
    
  2. יוצרים את המכונה הווירטואלית:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    NO_BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי לשמור את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי למחוק את דיסק האתחול באופן אוטומטי.

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog
    

    כדי ליצור מכונה וירטואלית, צריך לקבל את ה-minimumDiskSize של קובץ אימג' מסוים:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
    PROJECT הפרויקט של התמונה.
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' בהתאמה אישית.
  2. יוצרים את המכונה הווירטואלית:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
    PROJECT הפרויקט ב-GDC שבו יוצרים את המכונה הווירטואלית.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
    BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי למחוק אוטומטית את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי לשמור אותו.
  3. מוודאים שהמכונה הווירטואלית נוצרה בהצלחה וממתינים עד שהיא תהיה במצב Running. העובדה שהמכשיר במצב Running לא אומרת שמערכת ההפעלה מוכנה ונגישה באופן מלא.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    מחליפים את VM_NAME ואת PROJECT בשם ובפרויקט של המכונה הווירטואלית.

יצירת מכונת VM עם דיסקים נוספים שאינם דיסקי אתחול

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

המסוף

  1. בתפריט הניווט, לוחצים על Virtual Machines > Instances.
  2. לוחצים על Create Instance.
  3. בשדה Name, נותנים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על Add Labels כדי להקצות תוויות למכונה הווירטואלית. כך אפשר לארגן את מכונות ה-VM.
  6. בוחרים את הגדרת המכונה שרוצים להשתמש בה למכונה הווירטואלית:
    1. למטרות כלליות: ודאו שסוג המכונה מתאים לדרישות של עומס העבודה.
    2. Custom: הגדרת מספר הליבות ודרישות הזיכרון של המכונה.
  7. לוחצים על הבא.
  8. מסמנים את התיבה Allow external access כדי לאפשר גישה חיצונית למכונה הווירטואלית.
  9. לוחצים על הבא.
  10. בקטע Boot disk, ‏GDC מוסיף באופן אוטומטי דיסק אתחול עם הגדרות ברירת מחדל. אפשר להשאיר את ההגדרות כמו שהן, או ללחוץ על Change כדי לשנות את הגדרות ברירת המחדל:
    1. בקטע Disk details, משנים את הערך של Disk name.
    2. בקטע Disk settings, משנים את הערך של Size.
    3. בקטע Source image, לוחצים על התפריט Image name ובוחרים אחת מהתמונות.
    4. בוחרים או מבטלים את הבחירה באפשרות הפעלת אתחול מאובטח. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.
    5. בוחרים באפשרות Keep disk או Delete disk כדי להגדיר את כלל המחיקה של הדיסק.
    6. לוחצים על Save.
  11. כדי להוסיף עוד דיסקים למכונה הווירטואלית, לוחצים על Add New Disk:
    1. נותנים שם לדיסק של המכונה הווירטואלית.
    2. מגדירים את גודל הדיסק ואת הגדרות הצירוף.
    3. לוחצים על Save.
  12. לוחצים על Create כדי ליצור את המכונה הווירטואלית.

gdcloud

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

    gdcloud compute disks create VM_BOOT_DISK_NAME \
      --size=BOOT_DISK_SIZE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=BOOT_DISK_IMAGE_NAMESPACE
    
  2. יוצרים דיסק נוסף שהוא לא דיסק אתחול, מתמונה:

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
      --size=NON_BOOT_DISK_SIZE \
      --image=NON_BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  3. יוצרים דיסק ריק שאינו דיסק אתחול:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
      --size=NON_BOOT_BLANK_DISK_SIZE
    
  4. יוצרים מכונה עם הדיסקים מהשלבים הקודמים:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --disk=name=VM_BOOT_DISK_NAME,boot=true \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
      --disk=name=NON_BOOT_DISK_FROM_IMAGE \
      --disk=name=NON_BOOT_BLANK_DISK
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש. משתמשים ב-vm-system לתמונה שסופקה על ידי GDC, או משאירים את השדה ריק לתמונה בהתאמה אישית.
    NON_BOOT_DISK_FROM_IMAGE השם של דיסק נוסף שאינו דיסק אתחול, שיוצרים מאימג'.
    NON_BOOT_DISK_SIZE הגודל של הדיסק הנוסף שהוא לא דיסק אתחול, לדוגמה, 20GB.
    NON_BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק שאינו דיסק אתחול.
    NON_BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של התמונה שמשמשת לדיסק שאינו דיסק אתחול. משתמשים ב-vm-system לתמונה שסופקה על ידי GDC, או משאירים את השדה ריק לתמונה בהתאמה אישית.
    NON_BOOT_BLANK_DISK השם של דיסק ריק נוסף שהוא לא דיסק אתחול.
    NON_BOOT_BLANK_DISK_SIZE הגודל של דיסק ריק נוסף שאינו דיסק אתחול, לדוגמה, 20GB.
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    NO_BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי לשמור את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי למחוק את דיסק האתחול באופן אוטומטי.

API

  1. יוצרים מכונה וירטואלית עם דיסק שהוא לא דיסק אתחול:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
      - virtualMachineDiskRef:
          name: NON_BOOT_DISK_FROM_IMAGE
      - virtualMachineDiskRef:
          name: NON_BOOT_BLANK_DISK
    EOF
    

    מחליפים את מה שכתוב בשדות הבאים:

    משתנההגדרה
    MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
    PROJECT הפרויקט ב-GDC שרוצים ליצור במכונה הווירטואלית.
    NON_BOOT_DISK_FROM_IMAGE השם של דיסק נוסף שאינו דיסק אתחול, שיוצרים מאימג'.
    NON_BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק שאינו דיסק אתחול.
    NON_BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של התמונה שמשמשת לדיסק שאינו דיסק אתחול. משתמשים ב-vm-system לתמונה שסופקה על ידי GDC, או משאירים ריק לתמונה בהתאמה אישית.
    NON_BOOT_DISK_SIZE גודל הדיסק הנוסף שאינו דיסק אתחול שאתם יוצרים מתמונה, לדוגמה, 20Gi.
    NON_BOOT_BLANK_DISK השם של דיסק ריק נוסף שהוא לא דיסק אתחול.
    NON_BOOT_BLANK_DISK_SIZE הגודל של דיסק ריק נוסף שאינו דיסק אתחול, לדוגמה, 20Gi.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
    BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
    BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש. משתמשים במרחב השמות vm-system לתמונה שסופקה על ידי GDC, או משאירים ריק לתמונה בהתאמה אישית.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
    VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
    MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
    BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי למחוק אוטומטית את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי לשמור אותו.

    מפרמטים ומחברים את הדיסקים לפני השימוש.

יצירת מכונה וירטואלית מתמונת מצב או מגיבוי

יש כמה דרכים ליצור מכונה וירטואלית חדשה מ-snapshot:

  • שחזור דיסק אתחול של VM: אם גיביתם דיסק אתחול של VM באמצעות קובץ snapshot, אתם יכולים להשתמש ב-snapshot הזה כדי ליצור VM חדש. מידע נוסף זמין במאמר שחזור קובץ snapshot.
    • שחזור דיסק שהוא לא דיסק אתחול: אם גיביתם דיסק שהוא לא דיסק אתחול באמצעות קובץ snapshot, אתם יכולים גם לשחזר את ה-snapshot לדיסק חדש שהוא לא דיסק אתחול כשאתם יוצרים VM, באמצעות אותן הוראות.

כדי ליצור יותר ממכונה וירטואלית אחת עם אותו דיסק אתחול:

  1. יצירת תמונה בהתאמה אישית.
  2. יוצרים מכונות וירטואליות מהתמונה הזו בלי להשתמש ב-snapshot.

יצירת מכונה וירטואלית עם כתובת IP ותת-רשת ספציפיות

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

אם אתם לא רוצים להשתמש בהגדרת ברירת המחדל של כתובת ה-IP למכונה הווירטואלית ב-GDC, אתם יכולים ליצור מכונה וירטואלית עם כתובת IP דינמית או סטטית:

  • כתובת IP דינמית מתת-רשת בהתאמה אישית: יוצרים תת-רשת עם CIDR ספציפי, ויוצרים מכונה וירטואלית עם כתובת IP שמוקצית באופן דינמי מאותו CIDR.

  • כתובת IP סטטית מתת-רשת בהתאמה אישית: יוצרים תת-רשת עם CIDR ספציפי, ויוצרים VM עם כתובת IP סטטית מאותו CIDR.

מידע נוסף על יצירת רשתות משנה זמין במאמר רשתות משנה וכתובות IP ב-GDC.

בקטע הזה מוסבר איך ליצור מכונה וירטואלית עם כתובת IP שמוקצית באופן דינמי או עם כתובת IP סטטית.

יצירת מכונה וירטואלית עם כתובת IP שמוקצית באופן דינמי מרשת משנה בהתאמה אישית

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

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - network: NETWORK_NAME
         subnet: SUBNET_NAME
   EOF

מחליפים את המשתנים הבאים:

משתנההגדרה
MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
PROJECT הפרויקט ב-GDC שבו יוצרים את המכונה הווירטואלית.
VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. בוחרים סוג מכונה זמין:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי למחוק אוטומטית את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי לשמור אותו.
NETWORK_NAME השם של רשת ה-VPC, למשל default.
SUBNET_NAME השם של רשת המשנה בהתאמה אישית.

יצירת מכונה וירטואלית עם כתובת IP סטטית מרשת משנה

יוצרים מכונה וירטואלית עם כתובת IP סטטית מרשת משנה בהתאמה אישית:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply  -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - network: NETWORK_NAME
         subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

מחליפים את המשתנים הבאים:

משתנההגדרה
MANAGEMENT_API_SERVER קובץ kubeconfig של שרת ה-API לניהול.
PROJECT הפרויקט ב-GDC שבו יוצרים את המכונה הווירטואלית.
VM_BOOT_DISK_NAME השם של דיסק האתחול של ה-VM החדש.
BOOT_DISK_IMAGE_NAME שם קובץ האימג' שבו משתמשים בדיסק האתחול של ה-VM החדש.
BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
הערך הזה תמיד צריך להיות גדול או שווה ל-minimumDiskSize של קובץ האימג' של דיסק האתחול.
VM_NAME השם של המכונה הווירטואלית החדשה. השם יכול להכיל עד 53 תווים אלפאנומריים ומקפים.
MACHINE_TYPE סוג המכונה עם הקונפיגורציה המוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
BOOT_DISK_AUTO_DELETE מציינים את הערך true כדי למחוק אוטומטית את דיסק האתחול כשמוחקים את המכונה הווירטואלית, או את הערך false כדי לשמור אותו.
NETWORK_NAME השם של רשת ה-VPC, למשל default.
SUBNET_NAME השם של רשת המשנה בהתאמה אישית.
IP_ADDRESS כתובת ה-IP. הכתובת חייבת להיות בטווח של רשת המשנה שנבחרה. אפשר לציין רק כתובת IP אחת בשדה ipAddresses.

המאמרים הבאים