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

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

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

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

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

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

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

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

  1. מאתרים את שם השרת של Management API או שואלים את מנהל הפלטפורמה מה שם השרת.

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

  3. משתמשים בנתיב כדי להחליף את MANAGEMENT_API_SERVER{"</var>"}} בהוראות האלה.

שליחת בקשה להרשאות ולגישה

כדי לבצע את המשימות שמפורטות בדף הזה, צריך להיות לכם תפקיד אדמין של מכונה וירטואלית בפרויקט. צריך לפעול לפי השלבים כדי לאמת או לבקש מאדמין IAM של פרויקט להקצות לכם את התפקיד אדמין של מכונה וירטואלית בפרויקט (project-vm-admin) במרחב השמות של הפרויקט שבו נמצא ה-VM.

כדי לבצע פעולות ב-VM באמצעות מסוף GDC או gdcloud CLI, צריך לבקש מאדמין IAM בפרויקט להקצות לכם את התפקיד Project VirtualMachine Admin ואת התפקיד Project Viewer (project-viewer).

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

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

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

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

gdcloud

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

gdcloud compute images list

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

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. כדי לקבל את ה-minimumDiskSize של תמונה מסוימת שסופקה על ידי GDC:

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

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

    • ‫MANAGEMENT_API_SERVER מחליפים ב-kubeconfig של שרת Management API.
    • BOOT_DISK_IMAGE_NAME בשם של קובץ האימג'.

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

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

gdcloud

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

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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 הנתיב של שרת Management API‏ kubeconfig.
    PROJECT פרויקט מכשיר GDC עם air gap ליצירת המכונה הווירטואלית.
    VM_NAME השם של מכונת ה-VM החדשה. השם צריך להכיל רק תווים אלפאנומריים ומקפים, ולא יכול להיות ארוך מ-53 תווים.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20G.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    BOOT_DISK_AUTO_DELETE הערך true או false, שמציין אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע המכונה הווירטואלית.
    MACHINE_TYPE סוג המכונה עם קונפיגורציה מוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    gdcloud compute machine-types list
  2. מוודאים שהמכונה הווירטואלית נוצרה ומחכים שהמכונה הווירטואלית תציג את הסטטוס Running. המצב Running לא מציין שהמערכת מוכנה ונגישה באופן מלא.

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

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

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

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

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

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

API

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

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

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

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

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

    משתנההגדרה
    MANAGEMENT_API_SERVER הנתיב של שרת Management API‏ kubeconfig.
    BOOT_DISK_IMAGE_NAME השם של האימג' שנבחר מהפקודה list all custom images.
    PROJECT הפרויקט של התמונה.
  2. יוצרים את המופע של ה-VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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 עם air gap ליצירת המכונה הווירטואלית.
    VM_NAME השם של מכונת ה-VM החדשה. השם צריך להכיל רק תווים אלפאנומריים ומקפים, ולא יכול להיות ארוך מ-53 תווים.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20G.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    BOOT_DISK_AUTO_DELETE הערך true או false, שמציין אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע המכונה הווירטואלית.
    MACHINE_TYPE סוג המכונה עם קונפיגורציה מוגדרת (predefined) של המכונה הווירטואלית החדשה. כדי לבחור סוג מכונה זמין, מריצים את הפקודה הבאה:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. מוודאים שהמכונה הווירטואלית נוצרה ומחכים שהמכונה הווירטואלית תציג את הסטטוס Running. המצב Running לא מציין שהמערכת מוכנה ונגישה באופן מלא.

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

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

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

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

gdcloud

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

    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
    
  2. כדי ליצור דיסק מתמונה ריקה:

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

    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 \
        --disk=name=NON_BOOT_DISK_FROM_IMAGE \
        --disk=name=NON_BOOT_BLANK_DISK
    

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

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

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

    • ‫NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: השם של הדיסק הנוסף.
    • ‫NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: גודל הדיסקים הנוספים, לדוגמה, 20G.
    • ‫NON_BOOT_DISK_IMAGE_NAME: השם של התמונה שרוצים להשתמש בה כדיסק שאינו דיסק אתחול.
    • ‫NON_BOOT_DISK_IMAGE_NAMESPACE: מרחב השמות של התמונה לשימוש כדיסק שאינו דיסק אתחול. משתמשים ב-vm-system לתמונה שסופקה על ידי GDC, או משאירים את השדה ריק לתמונה מותאמת אישית.

API

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

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

  • ‫NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: השם של הדיסק הנוסף.
  • ‫NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: גודל הדיסקים הנוספים, לדוגמה, 20G.
  • ‫NON_BOOT_DISK_IMAGE_NAME: השם של התמונה שרוצים להשתמש בה כדיסק שאינו ניתן לאתחול.
  • ‫NON_BOOT_DISK_IMAGE_NAMESPACE: מרחב השמות של התמונה שרוצים להשתמש בה כדיסק שאינו דיסק אתחול. משתמשים במרחב השמות vm-system לתמונה שסופקה על ידי GDC, או משאירים את השדה ריק לתמונה בהתאמה אישית.

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

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

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

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

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

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

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

מכשיר GDC עם air gap מציע סוגי מכונות מוגדרים מראש שאפשר להשתמש בהם כשיוצרים מכונה וירטואלית. לסוג מכונה עם קונפיגורציה מוגדרת (predefined) יש מספר מוגדר מראש של vCPU ונפח זיכרון.

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

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

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

gdcloud

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

    gdcloud compute instances create VM_NAME \
        --custom-cpu=NUM_VCPU \
        --custom-memory=MEMORY
        --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 תווים.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20G.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    NO_BOOT_DISK_AUTO_DELETE ‫true או false, שמציינים את ההפך מההגדרה אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע ה-VM.
    NUM_VCPU מספר יחידות ה-vCPU. מספר ה-vCPU המקסימלי שנתמך הוא 192.
    MEMORY גודל הזיכרון, למשל 8G. גודל הזיכרון המקסימלי הוא טרה-בייט אחד (TB).

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

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

    משתנההגדרה
    MANAGEMENT_API_SERVER הנתיב של שרת Management API‏ kubeconfig.
    PROJECT פרויקט מכשיר GDC עם air gap ליצירת המכונה הווירטואלית.
    VM_NAME השם של מכונת ה-VM החדשה. השם צריך להכיל רק תווים אלפאנומריים ומקפים, ולא יכול להיות ארוך מ-53 תווים.
    VM_BOOT_DISK_NAME השם של דיסק האתחול של המכונה הווירטואלית החדשה.
    BOOT_DISK_IMAGE_NAME השם של התמונה שבה רוצים להשתמש לדיסק האתחול של מכונת ה-VM החדשה.
    BOOT_DISK_SIZE גודל דיסק האתחול, למשל 20G.
    הערך הזה תמיד צריך להיות גדול מהערך minimumDiskSize של תמונת דיסק האתחול או שווה לו.
    BOOT_DISK_AUTO_DELETE הערך true או false, שמציין אם דיסק האתחול נמחק אוטומטית כשמוחקים את מופע המכונה הווירטואלית.
    NUM_VCPU מספר יחידות ה-vCPU. מספר ה-vCPU המקסימלי שנתמך הוא 192.
    MEMORY גודל הזיכרון, למשל 8G. גודל הזיכרון המקסימלי הוא טרה-בייט אחד.