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

במסמך הזה מוסבר איך ליצור מכונה וירטואלית (VM) באמצעות קובץ אימג' של דיסק אתחול או קובץ snapshot של דיסק אתחול.

אפשר ליצור מכונה וירטואלית עם דיסק אחד או יותר. אפשר גם להוסיף דיסקים למכונה הווירטואלית אחרי שהיא נוצרת. ‫Distributed Cloud מפעיל אוטומטית את מכונת ה-VM אחרי היצירה.

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

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

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

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

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

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

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

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

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

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

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

שליחת בקשה לתפקידים ב-IAM

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

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

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

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

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

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

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

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

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

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 של שרת Management API.
    • ‫BOOT_DISK_IMAGE_NAME: השם של התמונה.

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

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

המסוף

  1. בתפריט הניווט, בוחרים באפשרות מכונות וירטואליות > מופעים.
  2. לוחצים על Create Instance.
  3. בשדה Name (שם), מציינים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על הוספת תוויות כדי להקצות תוויות למכונה הווירטואלית. כך תוכלו לארגן את מופעי ה-VM.
  6. בוחרים את הגדרת המכונה שרוצים להשתמש בה עבור המכונה הווירטואלית:
    1. לשימוש כללי: חשוב לוודא שסוג המכונה תואם לדרישות של עומס העבודה.
    2. בהתאמה אישית: מגדירים את מספר ליבות המעבד ואת דרישות הזיכרון של המחשב.
  7. לוחצים על הבא.
  8. כדי להפעיל גישה חיצונית, בוחרים באפשרות התרת גישה חיצונית.
  9. לוחצים על הבא.
  10. בקטע Boot disk, דיסק אתחול עם הגדרות ברירת מחדל נוסף באופן אוטומטי. אפשר להשאיר את ההגדרה הזו כמו שהיא, או ללחוץ על שינוי כדי לשנות את הגדרות ברירת המחדל:
    1. בקטע פרטי הדיסק, משנים את שם הדיסק.
    2. בקטע Disk settings (הגדרות הדיסק), משנים את הערך של Size (גודל).
    3. בקטע תמונת מקור, לוחצים על התפריט שם התמונה ובוחרים אחת מהתמונות.
    4. מסמנים את התיבה הפעלה של אתחול מאובטח או מבטלים את הסימון שלה. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.
    5. בוחרים באפשרות שמירת הדיסק או מחיקת הדיסק כדי להגדיר את כלל המחיקה של הדיסק.
    6. לוחצים על שמירה.
  11. לוחצים על יצירה כדי ליצור את מופע המכונה הווירטואלית.

gdcloud

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

    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 השם של מכונת ה-VM החדשה. השם חייב להכיל רק תווים אלפאנומריים ומקפים, ואורכו לא יכול להיות יותר מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    NO_BOOT_DISK_AUTO_DELETE ‫true או false, שמציינים את ההפך מההגדרה אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע ה-VM.

API

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

    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 של שרת Management API.
    PROJECT פרויקט GDC שבו תיצור את המכונה הווירטואלית.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    VM_NAME השם של מכונת ה-VM החדשה. השם חייב להכיל רק תווים אלפאנומריים ומקפים, ואורכו לא יכול להיות יותר מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    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. בתפריט הניווט, בוחרים באפשרות מכונות וירטואליות > מופעים.
  2. לוחצים על Create Instance.
  3. בשדה Name (שם), מציינים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על הוספת תוויות כדי להקצות תוויות למכונה הווירטואלית. כך תוכלו לארגן את מופעי ה-VM.
  6. בוחרים את הגדרת המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית:
    1. לשימוש כללי: חשוב לוודא שסוג המכונה תואם לדרישות של עומס העבודה.
    2. בהתאמה אישית: מגדירים את מספר ליבות המעבד ואת דרישות הזיכרון של המחשב.
  7. לוחצים על הבא.
  8. מסמנים את תיבת הסימון התרת גישה חיצונית כדי להפעיל גישה חיצונית למכונה הווירטואלית.
  9. לוחצים על הבא.
  10. בקטע Boot disk, דיסק אתחול עם הגדרות ברירת מחדל נוסף באופן אוטומטי. אפשר להשאיר את ההגדרה הזו כמו שהיא, או ללחוץ על שינוי כדי לשנות את הגדרות ברירת המחדל:
    1. בקטע פרטי הדיסק, משנים את שם הדיסק.
    2. בקטע Disk settings (הגדרות הדיסק), משנים את הערך של Size (גודל).
    3. בקטע תמונת מקור, לוחצים על התפריט שם התמונה ובוחרים אחת מהתמונות עם הכיתוב המשני נוצרה על ידי הלקוח.
    4. מסמנים את התיבה הפעלה של אתחול מאובטח או מבטלים את הסימון שלה. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.
    5. בוחרים באפשרות שמירת הדיסק או מחיקת הדיסק כדי להגדיר את כלל המחיקה של הדיסק.
    6. לוחצים על שמירה.
  11. לוחצים על יצירה כדי ליצור את מופע המכונה הווירטואלית.

gdcloud

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

    gdcloud compute images list --no-standard-images=true
    
  2. יוצרים את המופע של ה-VM:

    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 השם של מכונת ה-VM החדשה. השם חייב להכיל רק תווים אלפאנומריים ומקפים, ואורכו לא יכול להיות יותר מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    NO_BOOT_DISK_AUTO_DELETE ‫true או false, שמציינים את ההפך מההגדרה אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע ה-VM.

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 של שרת Management API.
    PROJECT הפרויקט של התמונה.
    BOOT_DISK_IMAGE_NAME השם של האימג' שנבחר מהפקודה list all custom images.
  2. יוצרים את המופע של ה-VM:

    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 של שרת Management API.
    PROJECT פרויקט GDC שבו תיצור את המכונה הווירטואלית.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    VM_NAME השם של מכונת ה-VM החדשה. השם חייב להכיל רק תווים אלפאנומריים ומקפים, ואורכו לא יכול להיות יותר מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    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 בשם ובפרויקט של המכונה הווירטואלית.

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

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

המסוף

  1. בתפריט הניווט, בוחרים באפשרות מכונות וירטואליות > מופעים.
  2. לוחצים על Create Instance.
  3. בשדה Name (שם), מציינים שם למכונה הווירטואלית.
  4. בוחרים את האזור שבו רוצים ליצור את המכונה הווירטואלית.
  5. אופציונלי: לוחצים על הוספת תוויות כדי להקצות תוויות למכונה הווירטואלית. כך תוכלו לארגן את מופעי ה-VM.
  6. בוחרים את הגדרת המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית:
    1. לשימוש כללי: חשוב לוודא שסוג המכונה תואם לדרישות של עומס העבודה.
    2. בהתאמה אישית: מגדירים את מספר ליבות המעבד ואת דרישות הזיכרון של המחשב.
  7. לוחצים על הבא.
  8. מסמנים את תיבת הסימון התרת גישה חיצונית כדי להפעיל גישה חיצונית למכונה הווירטואלית.
  9. לוחצים על הבא.
  10. בקטע Boot disk, דיסק אתחול עם הגדרות ברירת מחדל נוסף באופן אוטומטי. אפשר להשאיר את ההגדרה הזו כמו שהיא, או ללחוץ על שינוי כדי לשנות את הגדרות ברירת המחדל:
    1. בקטע פרטי הדיסק, משנים את שם הדיסק.
    2. בקטע Disk settings (הגדרות הדיסק), משנים את הערך של Size (גודל).
    3. בקטע תמונת מקור, לוחצים על התפריט שם התמונה ובוחרים אחת מהתמונות.
    4. מסמנים את התיבה הפעלה של אתחול מאובטח או מבטלים את הסימון שלה. אם משתמשים בתמונת Windows, צריך להפעיל את האתחול המאובטח.
    5. בוחרים באפשרות שמירת הדיסק או מחיקת הדיסק כדי להגדיר את כלל המחיקה של הדיסק.
    6. לוחצים על שמירה.
  11. כדי להוסיף עוד דיסקים למכונת ה-VM, בוחרים באפשרות הוספת דיסק חדש:
    1. מקצים שם לדיסק של המכונה הווירטואלית.
    2. מגדירים את גודל הדיסק ואת הגדרות הצירוף.
    3. לוחצים על Save.
  12. לוחצים על יצירה כדי ליצור את מופע המכונה הווירטואלית.

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 השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20GB.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של התמונה שבה רוצים להשתמש לדיסק האתחול של המכונה הוירטואלית החדשה. משתמשים ב-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 השם של מכונת ה-VM החדשה. השם צריך להכיל רק תווים אלפאנומריים ומקפים, ולא יכול להיות ארוך מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
    NO_BOOT_DISK_AUTO_DELETE הערך true או false, שמציין אם דיסק האתחול לא נמחק אוטומטית כשמוחקים את מופע ה-VM.

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 של שרת Management 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 השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_IMAGE_NAMESPACE מרחב השמות של התמונה שבה רוצים להשתמש לדיסק האתחול של המכונה הוירטואלית החדשה. משתמשים במרחב השמות vm-system לתמונה שסופקה על ידי GDC, או משאירים את השדה ריק לתמונה בהתאמה אישית.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20Gi.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    VM_NAME השם של מכונת ה-VM החדשה. השם חייב להכיל רק תווים אלפאנומריים ומקפים, ואורכו לא יכול להיות יותר מ-53 תווים.
    MACHINE_TYPE סוג המכונה המוגדר מראש של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
    BOOT_DISK_AUTO_DELETE הערך true או false, שמציין אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע ה-VM.

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

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

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

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

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

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

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

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

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

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

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

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

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

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