יצירת בקשות לשינוי גודל ב-MIG

במאמר הזה מוסבר איך ליצור בקשות לשינוי כמות בקבוצת מופעי מכונה מנוהלים (MIG) של מכונות וירטואליות (VM). מידע נוסף על בקשות לשינוי כמות ב-MIG

יצירת בקשה לשינוי כמות ב-MIG עוזרת לכם להשיג משאבים מבוקשים, כמו יחידות GPU, ולייעל את העלויות על ידי יצירת המספר המדויק של המכונות הווירטואליות בבת אחת. כדי ליצור בקשה לשינוי כמות ב-MIG שבה אפשר להשתמש בתכונות ובשירותים שזמינים ב-AI Hypercomputer, עיינו במאמר יצירת MIG ובקשה לשינוי כמות במסמכי התיעוד של AI Hypercomputer.

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

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

  • כדי להשתמש בבקשות לשינוי כמות של MIG כדי ליצור מכונות Flex-start VM לעומסי עבודה שפועלים עד שבעה ימים, ודאו שיש לכם מספיק מכסה למשאבים שביקשתם. אחרת, הבקשה לשינוי כמות תישאר בהמתנה עד שתהיה לכם מכסה מספיקה.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל.
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת בקשות לשינוי גודל של MIG, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת בקשות לשינוי כמות ב-MIG. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור בקשות לשינוי כמות ב-MIG, צריך את ההרשאות הבאות:

  • כדי ליצור תבנית של הגדרות מכונה: ‫compute.instanceTemplates.create בפרויקט
  • כדי ליצור קבוצת MIG אזורית: ‫compute.instanceGroupManagers.create בפרויקט
  • כדי ליצור בקשה לשינוי כמות של MIG: ‫compute.instanceGroupManagers.update בפרויקט

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

הכנת קבוצת MIG לבקשות לשינוי כמות

כדי ליצור בקשה לשינוי כמות ב-MIG, צריך להגדיר תבנית של הגדרות מכונה ואת ה-MIG, כמו שמתואר בקטעים הבאים.

יצירת תבנית של הגדרות מכונה

בהתאם לתרחיש שימוש של בקשות לשינוי כמות של MIG, יוצרים תבנית של הגדרות מכונה באחת מהשיטות הבאות:

שימוש במודל ההקצאה "התחלה גמישה"

כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת בקשות לשינוי כמות של MIG ו-Flex-start VMs, צריך לציין את ההגדרות הבאות בתבנית:

הערה: אם אתם רוצים להריץ עומסי עבודה של מדעי נתונים או למידת מכונה, כדאי להשתמש בתמונת Deep Learning VM Images כשאתם יוצרים תבנית של הגדרות מכונה. מכונות וירטואליות ללמידה עמוקה הן קבוצה של קובצי אימג' ארוזים מראש של מכונות וירטואליות, שמגיעים עם מסגרות של למידת מכונה וכלים חיוניים. למידע נוסף על קובצי האימג' האלה, קראו את המאמר בחירת קובץ אימג' במסמכי התיעוד של Deep Learning VM.

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף תבניות של הגדרות מכונה.

    כניסה לדף Instance templates

  2. לוחצים על יצירת תבנית של הגדרות מכונה. ייפתח הדף Create an instance template.

  3. בשדה Name, נותנים שם לתבנית של הגדרות המכונה.

  4. בקטע מיקום בוחרים אחת מהאפשרויות הבאות:

    • כדי ליצור תבנית של הגדרות מכונה אזורית, בוחרים באפשרות Regional (recommended) ואז בוחרים אזור שתומך בסוגי מכונות GPU או H4D.

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

  5. בקטע Machine configuration, מציינים את סוג המכונה.

  6. בקטע Provisioning model:

    1. בשדה VM provisioning model, בוחרים באפשרות Flex-start.

    2. מרחיבים את הקטע VM provisioning model advanced settings.

    3. מסמנים את התיבה הגדרת מגבלת זמן למכונה הווירטואלית.

    4. כדי להגדיר משך זמן להפעלת המכונות הווירטואליות שנוצרו באמצעות התבנית של הגדרות המכונה, מזינים את מספר השעות בשדה Enter number of hours. הערך צריך להיות בין 36 שניות (0.01) לבין שבעה ימים (168).

  7. אופציונלי: כדי לשנות את ערך ברירת המחדל של סוג דיסק האתחול או התמונה, בקטע Boot disk לוחצים על Change. לאחר מכן, פועלים לפי ההנחיות כדי לשנות את דיסק האתחול.

  8. לוחצים על יצירה.

gcloud

כדי ליצור תבנית של הגדרות מכונה, משתמשים בפקודה instance-templates create עם הגדרות הדגלים הבאות:

  • הדגל --instance-termination-action מוגדר לערך DELETE.

  • הדגל --maintenance-policy מוגדר לערך TERMINATE.

  • הדגל --max-run-duration.

  • הדגל --provisioning-model מוגדר לערך FLEX_START.

פקודת הדוגמה הבאה יוצרת תבנית של הגדרות מכונה אזורית. כדי ליצור תבנית גלובלית של הגדרות מכונה, משתמשים באותה פקודה בלי הדגל --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=DELETE \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=RUN_DURATION \
    --provisioning-model=FLEX_START

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה שרוצים ליצור.

  • ‫IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמה debian-cloud. למידע נוסף על פרויקטים של תמונות נתמכות, ראו תמונות ציבוריות.

  • ‫IMAGE_FAMILY: משפחת תמונות. מציינים משפחת תמונות כדי להשתמש בקובץ אימג' של מערכת ההפעלה העדכני ביותר, שלא הוצא משימוש. לדוגמה, אם מציינים את debian-12, המערכת משתמשת בגרסה העדכנית במשפחת קובצי האימג' של Debian 12. למידע נוסף על השימוש במשפחות של קובצי אימג', ראו שיטות מומלצות למשפחות של קובצי אימג'.

  • ‫REGION: האזור שבו יוצרים את התבנית של הגדרות המכונה. מציינים אזור שתומך בסוגי מכונות GPU או H4D.

  • ‫MACHINE_TYPE: סוג המכונה שמשמשת למכונות הווירטואליות מסוג Flex-start. אם מציינים סוג מכונה N1, צריך לכלול את הדגל --accelerator כדי להגדיר את המספר והסוג של יחידות ה-GPU שרוצים לצרף למכונות הווירטואליות.

  • ‫RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך לציין את הערך כמספר הימים, השעות, הדקות או השניות, ואחריו d,‏ h,‏ m ו-s בהתאמה. לדוגמה, אפשר לציין 30m ל-30 דקות או 1d2h3m4s ליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך צריך להיות בין 10 דקות ל-7 ימים.

REST

כדי ליצור תבנית של הגדרות מכונה, שולחים בקשת POST לאחת מהשיטות הבאות:

בגוף הבקשה, כוללים את השדות הבאים:

  • השדה scheduling.instanceTerminationAction מוגדר ל-DELETE.

  • השדה scheduling.maxRunDuration.

  • השדה scheduling.onHostMaintenance מוגדר ל-TERMINATE.

  • השדה scheduling.provisioningModel מוגדר ל-FLEX_START.

בדוגמה הבאה, הבקשה יוצרת תבנית של הגדרות מכונה אזורית:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": RUN_DURATION
      },
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START"
    }
  }
}

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

  • ‫PROJECT_ID: מזהה הפרויקט שבו יוצרים את התבנית של הגדרות המכונה.

  • ‫REGION: האזור שבו יוצרים את התבנית של הגדרות המכונה. מציינים אזור שתומך בסוגי מכונות GPU או H4D.

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה שרוצים ליצור.

  • ‫IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמה debian-cloud. למידע נוסף על פרויקטים של תמונות נתמכות, ראו תמונות ציבוריות.

  • ‫IMAGE: מציינים אחת מהאפשרויות הבאות:

    • גרסה ספציפית של קובץ האימג' של מערכת ההפעלה, לדוגמה debian-12-bookworm-v20240617.

    • משפחת תמונות, בפורמט family/IMAGE_FAMILY. כדי להשתמש בקובץ האימג' העדכני ביותר של מערכת ההפעלה, שלא הוצא משימוש, צריך לציין משפחת אימג'ים. לדוגמה, אם מציינים את family/debian-12, המערכת משתמשת בגרסה העדכנית במשפחת קובצי האימג' של Debian 12. למידע נוסף על השימוש במשפחות של קובצי אימג', קראו את המאמר שיטות מומלצות למשפחות של קובצי אימג'.

  • ‫MACHINE_TYPE: סוג המכונה שמשמשת למכונות הווירטואליות מסוג Flex-start. אם מציינים סוג מכונה N1, צריך לכלול את השדה guestAccelerators כדי להגדיר את המספר והסוג של יחידות ה-GPU שרוצים לצרף למכונות הווירטואליות.

  • RUN_DURATION: משך הזמן, בשניות, שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. הערך צריך להיות בין 600, שהם 600 שניות (10 דקות), לבין 604800, שהם 604,800 שניות (שבעה ימים).

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

שימוש במודל הקצאה שקשור להזמנה

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

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף תבניות של הגדרות מכונה.

    כניסה לדף Instance templates

  2. לוחצים על יצירת תבנית של הגדרות מכונה. ייפתח הדף Create an instance template.

  3. בשדה Name, נותנים שם לתבנית של הגדרות המכונה.

  4. בקטע מיקום בוחרים אחת מהאפשרויות הבאות:

    • כדי ליצור תבנית של הגדרות מכונה אזורית, בוחרים באפשרות Regional (recommended) ואז בוחרים אזור שתומך בסוגי מכונות GPU או H4D.

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

  5. בקטע Machine configuration, מציינים את סוג המכונה.

  6. בקטע Provisioning model:

    1. מרחיבים את הקטע VM provisioning model advanced settings.

    2. ברשימה On VM termination בוחרים את האפשרות Delete.

  7. אופציונלי: כדי לשנות את ערך ברירת המחדל של סוג דיסק האתחול או של קובץ האימג', בקטע Boot disk לוחצים על Change. לאחר מכן, פועלים לפי ההנחיות כדי לשנות את דיסק האתחול.

  8. מרחיבים את הקטע Advanced options ומבצעים את הפעולות הבאות:

    1. מרחיבים את הקטע Management.

    2. בקטע Reservations, בוחרים באפשרות Choose a reservation ולוחצים על Choose reservation. בחלונית שמופיעה, פועלים לפי ההנחיות כדי לבחור את ההזמנה שרוצים להשתמש בה.

  9. לוחצים על יצירה.

gcloud

כדי ליצור תבנית של הגדרות מכונה, משתמשים בפקודה instance-templates create עם הגדרות הדגלים הבאות:

  • הדגל --instance-termination-action מוגדר לערך DELETE.

  • הדגל --maintenance-policy מוגדר לערך TERMINATE.

  • הדגל --provisioning-model מוגדר לערך RESERVATION_BOUND.

  • הדגל --reservation-affinity מוגדר לערך specific.

  • הדגל --reservation.

פקודת הדוגמה הבאה יוצרת תבנית של הגדרות מכונה אזורית. כדי ליצור תבנית גלובלית של הגדרות מכונה, משתמשים באותה פקודה בלי הדגל --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-termination-action=DELETE \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --provisioning-model=RESERVATION_BOUND \
    --reservation-affinity=specific \
    --reservation=RESERVATION_URL

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה שרוצים ליצור.

  • ‫IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמה debian-cloud. למידע נוסף על פרויקטים של תמונות נתמכות, ראו תמונות ציבוריות.

  • ‫IMAGE_FAMILY: משפחת תמונות. מציינים משפחת תמונות כדי להשתמש בקובץ אימג' של מערכת ההפעלה העדכני ביותר, שלא הוצא משימוש. לדוגמה, אם מציינים את debian-12, המערכת משתמשת בגרסה העדכנית במשפחת קובצי האימג' של Debian 12. למידע נוסף על השימוש במשפחות של קובצי אימג', ראו שיטות מומלצות למשפחות של קובצי אימג'.

  • ‫REGION: האזור שבו יוצרים את התבנית של הגדרות המכונה. מציינים אזור שתומך בסוגי מכונות GPU או H4D.

  • ‫MACHINE_TYPE: סוג המכונה שצוין בהזמנה שרוצים להשתמש בה.

  • ‫RESERVATION_URL: כתובת ה-URL של המקום שנוצר אוטומטית ושמור לעתיד במצב תזמון, שאתם רוצים להשתמש בו. מציינים את אחד מהערכים הבאים:

    • אם בקשת שמירת המקום שנוצרה אוטומטית קיימת בפרויקט: RESERVATION_NAME.

    • אם ההזמנה שנוצרה אוטומטית נמצאת בפרויקט אחר: projects/PROJECT_ID/reservations/RESERVATION_NAME.

REST

כדי ליצור תבנית של הגדרות מכונה, שולחים בקשת POST לאחת מהשיטות הבאות:

בגוף הבקשה, כוללים את השדות הבאים:

  • השדה reservationAffinity.consumeReservationType מוגדר ל-SPECIFIC_RESERVATION.

  • השדה reservationAffinity.key מוגדר ל-compute.googleapis.com/reservation-name.

  • השדה reservationAffinity.values מוגדר לכתובת ה-URL של ההזמנה שנוצרה באופן אוטומטי.

  • השדה scheduling.instanceTerminationAction מוגדר ל-DELETE.

  • השדה scheduling.onHostMaintenance מוגדר ל-TERMINATE.

  • השדה scheduling.provisioningModel מוגדר ל-RESERVATION_BOUND.

לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית, שולחים את הבקשה הבאה:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_URL"
      ]
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND"
    }
  }
}

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

  • ‫PROJECT_ID: מזהה הפרויקט שבו יוצרים את התבנית של הגדרות המכונה.

  • ‫REGION: האזור שבו יוצרים את התבנית של הגדרות המכונה. מציינים אזור שתומך בסוגי מכונות GPU או H4D.

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה שרוצים ליצור.

  • ‫IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמה debian-cloud. למידע נוסף על פרויקטים של תמונות נתמכות, ראו תמונות ציבוריות.

  • ‫IMAGE: מציינים אחת מהאפשרויות הבאות:

    • גרסה ספציפית של קובץ האימג' של מערכת ההפעלה, לדוגמה debian-12-bookworm-v20240617.

    • משפחת תמונות, בפורמט family/IMAGE_FAMILY. כדי להשתמש בקובץ האימג' העדכני ביותר של מערכת ההפעלה, שלא הוצא משימוש, צריך לציין משפחת אימג'ים. לדוגמה, אם מציינים את family/debian-12, המערכת משתמשת בגרסה העדכנית במשפחת קובצי האימג' של Debian 12. למידע נוסף על השימוש במשפחות של קובצי אימג', קראו את המאמר שיטות מומלצות למשפחות של קובצי אימג'.

  • ‫MACHINE_TYPE: סוג המכונה שצוין בהזמנה שרוצים להשתמש בה.

  • ‫RESERVATION_URL: כתובת ה-URL של המקום שנוצר אוטומטית ושמור לעתיד במצב תזמון, שאתם רוצים להשתמש בו. מציינים את אחד מהערכים הבאים:

    • אם ההזמנה שנוצרה אוטומטית קיימת בפרויקט: RESERVATION_NAME

    • אם ההזמנה שנוצרה אוטומטית נמצאת בפרויקט אחר: projects/PROJECT_ID/reservations/RESERVATION_NAME

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

יצירה או עדכון של MIG

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

כדי ליצור את ה-MIG, בוחרים באחת מהאפשרויות הבאות. אם אתם רוצים לציין מדיניות עומס עבודה כדי לצמצם את זמן האחזור ברשת בין המכונות הווירטואליות, אתם צריכים להשתמש ב-CLI של gcloud או ב-API בארכיטקטורת REST.

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. לוחצים על Create instance group. נפתח הדף Create instance group.

  3. בשדה Name, נותנים שם לקבוצת ה-MIG.

  4. לפני שבוחרים תבנית של הגדרות מכונה, צריך להשבית את התיקונים באופן הבא:

    1. בקטע VM instance lifecycle, מבטלים את הסימון של התיבה Allow repair of VMs in an alternate zone.

    2. ברשימה Default action on failure, בוחרים באפשרות No action.

  5. חוזרים לשדה Instance template. ברשימה Instance template, בוחרים את תבנית של הגדרות מכונה שיצרתם בקטע הקודם. אם בוחרים תבנית של הגדרות מכונה אזורית, הרשימה Region מוגדרת לאזור של התבנית.

  6. בשדה Number of instances, מזינים 0.

  7. בקטע Location, מציינים אם רוצים ליצור קבוצת MIG אזורית או קבוצת MIG של תחום (zone):

    1. כדי ליצור MIG אזורי, בוחרים באפשרות Single zone. כדי ליצור קבוצת MIG אזורית, בוחרים באפשרות Multiple zones.

    2. בוחרים את האזור (Region) ואת התחומים (Zones) של ה-MIG.

    3. אם אתם יוצרים קבוצת MIG אזורית, בצעו את הפעולות הבאות:

      1. בשדה Target distribution shape, בוחרים באפשרות Any single zone.

      2. בתיבת הדו-שיח שמופיעה, לוחצים על Disable instance redistribution.

  8. לוחצים על יצירה.

gcloud

משתמשים בפקודה instance-groups managed create עם הדגל --default-action-on-vm-failure שמוגדר ל-do_nothing. אם יוצרים קבוצת MIG אזורית, צריך לכלול גם את הדגל --target-distribution-shape שמוגדר ל-any-single-zone ואת הדגל --instance-redistribution-type שמוגדר ל-none.

  • כדי ליצור קבוצת MIG אזורית, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=0 \
        --zone=ZONE \
        --default-action-on-vm-failure=do_nothing
    
  • כדי ליצור קבוצת MIG אזורית, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=0 \
        --region=REGION \
        --target-distribution-shape=any-single-zone \
        --instance-redistribution-type=none \
        --default-action-on-vm-failure=do_nothing
    

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

  • ‫MIG_NAME: השם של קבוצת ה-MIG שרוצים ליצור.

  • ‫INSTANCE_TEMPLATE_URL: כתובת ה-URL החלקית של התבנית של הגדרות המכונה שיצרתם בקטע הקודם. אם רוצים להשתמש בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, אפשר ליצור את ה-MIG רק באזור של התבנית. מציינים אחד מהערכים הבאים:

    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_NAME

  • ‫ZONE: האזור שבו יוצרים את ה-MIG.

  • ‫REGION: האזור שבו יוצרים את ה-MIG.

אם רוצים להחיל מדיניות עומסי עבודה על קבוצת ה-MIG, צריך לכלול בפקודה את הדגל --workload-policy. צריך לציין מדיניות עומסי עבודה שנמצאת באותו אזור כמו ה-MIG.

REST

  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST באמצעות ה-method‏ instanceGroupManagers.insert, באופן הבא:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": 0,
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      }
    }
    
  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST באמצעות השיטה regionInstanceGroupManagers.insert, באופן הבא:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": 0,
      "distributionPolicy": {
        "targetShape": "ANY_SINGLE_ZONE"
      },
      "updatePolicy": {
        "instanceRedistributionType": "NONE"
      },
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      }
    }
    

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

  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצאת תבנית המכונה שיצרתם בקטע הקודם.

  • ‫INSTANCE_TEMPLATE_URL: כתובת ה-URL החלקית של התבנית של הגדרות המכונה שיצרתם בקטע הקודם. אם רוצים להשתמש בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, אפשר ליצור את ה-MIG רק באזור של התבנית. מציינים אחד מהערכים הבאים:

    • לתבנית של הגדרות מכונה אזורית: regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • לתבנית גלובלית של הגדרות מכונה: global/instanceTemplates/INSTANCE_TEMPLATE_NAME

  • ‫ZONE: האזור שבו יוצרים את ה-MIG.

  • ‫REGION: האזור שבו יוצרים את ה-MIG.

  • ‫MIG_NAME: השם של קבוצת ה-MIG שרוצים ליצור.

אם רוצים להחיל מדיניות עומס עבודה על קבוצת ה-MIG, צריך לכלול את השדה workloadPolicy בגוף הבקשה. צריך לציין מדיניות עומסי עבודה שנמצאת באותו אזור כמו ה-MIG.

יצירת בקשה לשינוי כמות ב-MIG

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

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

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

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

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

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. בעמודה Name, לוחצים על השם של קבוצת ה-MIG שבה רוצים ליצור את הבקשה לשינוי כמות. דף הסקירה הכללית של ה-MIG נפתח.

  3. בשורה Resize requests לוחצים על Edit resize requests.

  4. לוחצים על בקשה חדשה לשינוי כמות. החלונית New resize requests נפתחת.

  5. בשדה Name, מזינים את שם הבקשה לשינוי כמות.

  6. בשדה Number of additional instances needed, כותבים כמה מכונות וירטואליות רוצים להוסיף לקבוצת ה-MIG בבת אחת.

  7. אופציונלי: אם בתבנית של הגדרות המכונה של ה-MIG מצוין משך זמן ריצה, אתם יכולים לציין משך זמן ריצה אחר. כדי לעשות את זה, בשדה Requested run duration וברשימות Unit, מציינים את משך ההרצה. צריך לציין משך זמן של בין שעה ל-7 ימים.

  8. לוחצים על יצירה.

gcloud

  • כדי ליצור בקשה לשינוי כמות ב-MIG אזורי, משתמשים בפקודה instance-groups managed resize-requests create.

    gcloud compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --resize-by=COUNT \
        --zone=ZONE
    
  • כדי ליצור בקשה לשינוי כמות ב-MIG אזורי, משתמשים בפקודה instance-groups managed resize-requests create.

    gcloud compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --resize-by=COUNT \
        --region=REGION
    

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

  • ‫MIG_NAME: השם של קבוצת ה-MIG שמוגדרת ליצירת בקשות לשינוי כמות.

  • ‫RESIZE_REQUEST_NAME: השם של הבקשה לשינוי כמות, שחייב להיות ייחודי בתוך ה-MIG שצוין. אחרת, הבקשה לשינוי הגודל תיכשל.

  • ‫COUNT: מספר המכונות הווירטואליות שרוצים להוסיף ל-MIG בבת אחת.

  • ‫ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • ‫REGION: האזור שבו נמצאת קבוצת ה-MIG.

אפשר גם לבצע אחת מהפעולות הבאות או את שתיהן:

  • אם בתבנית של הגדרות המכונה של ה-MIG מצוין משך זמן ריצה, אתם יכולים לציין משך זמן ריצה אחר. כדי לעשות זאת, צריך לכלול בפקודה את הדגל --requested-run-duration. צריך לציין משך זמן של בין 10 דקות ל-7 ימים.

REST

  • כדי ליצור בקשה לשינוי כמות ב-MIG אזורי, שולחים בקשת POST באמצעות ה-method‏ instanceGroupManagerResizeRequests.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
    {
      "name": "RESIZE_REQUEST_NAME",
      "resizeBy": COUNT
    }
    
  • כדי ליצור בקשה לשינוי כמות ב-MIG אזורי, שולחים בקשת POST באמצעות ה-method‏ regionInstanceGroupManagerResizeRequests.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
    {
      "name": "RESIZE_REQUEST_NAME",
      "resizeBy": COUNT
    }
    

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

  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצאת קבוצת ה-MIG שצוינה.

  • ‫ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • ‫REGION: האזור שבו נמצאת קבוצת ה-MIG.

  • ‫MIG_NAME: השם של קבוצת ה-MIG שמוגדרת ליצירת בקשות לשינוי כמות.

  • ‫RESIZE_REQUEST_NAME: השם של הבקשה לשינוי כמות, שחייב להיות ייחודי בתוך ה-MIG שצוין. אחרת, הבקשה לשינוי כמות תיכשל.

  • ‫COUNT: מספר המכונות הווירטואליות שרוצים להוסיף בבת אחת לקבוצת המכונות המנוהלת.

אפשר גם לבצע אחת מהפעולות הבאות או את שתיהן:

  • אם בתבנית של הגדרות המכונה של ה-MIG מצוין משך זמן ריצה, אתם יכולים לציין משך זמן ריצה אחר. כדי לעשות את זה, צריך לכלול את השדה requestedRunDuration בגוף הבקשה. צריך לציין משך זמן בשניות, בין 10 דקות ל-7 ימים.

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

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

כדי ליצור בקשה לשינוי גודל ב-MIG על ידי ציון רשימה של שמות מכונות וירטואליות, צריך להשתמש ב-CLI של gcloud או ב-API ל-REST.

gcloud

כדי ליצור בקשה לשינוי כמות עם שמות ספציפיים של מכונות וירטואליות ב-MIG, משתמשים בפקודה gcloud compute instance-groups managed resize-requests create בגרסת בטא עם הדגל --instances:

  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --zone=ZONE
    
  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --region=REGION
    

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

  • ‫MIG_NAME: שם ה-MIG.
  • ‫RESIZE_REQUEST_NAME: שם הבקשה לשינוי הגודל, שחייב להיות ייחודי בתוך קבוצת ה-MIG שצוינה. אחרת, הבקשה לשינוי כמות לא תיווצר.
  • ‫INSTANCE_NAMES: רשימה מופרדת בפסיקים של שמות המכונות הווירטואליות שרוצים ליצור. לדוגמה, instance-1,instance-2,instance-3.
  • ‫ZONE: האזור שבו נמצאת קבוצת ה-MIG.
  • ‫REGION: האזור שבו נמצאת קבוצת ה-MIG.

REST

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

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

{
  "name": "RESIZE_REQUEST_NAME",
  "instances": [
    {
      "name": "INSTANCE_NAME_1"
    },
    {
      "name": "INSTANCE_NAME_2"
    }
  ]
}

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

  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצאת קבוצת ה-MIG שצוינה.
  • ‫MIG_NAME: שם ה-MIG.
  • ‫RESIZE_REQUEST_NAME: שם הבקשה לשינוי הגודל, שחייב להיות ייחודי בתוך קבוצת ה-MIG שצוינה. אחרת, הבקשה לשינוי כמות לא תיווצר.
  • ‫INSTANCE_NAME_1,‏ INSTANCE_NAME_2: שמות המכונות הווירטואליות שרוצים ליצור.
  • ‫ZONE: האזור שבו נמצאת קבוצת ה-MIG.
  • ‫REGION: האזור שבו נמצאת קבוצת ה-MIG.

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