יצירת קבוצת MIG שעברה אופטימיזציה ל-AI עם סוג המכונה A3 Edge

במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת בסוג מכונה שעבר אופטימיזציה למאיץ A3 Edge. מידע נוסף על סוג המכונה זמין במאמר A3 Edge במאמרי העזרה של Compute Engine.

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

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

מגבלות

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

מגבלות של מכונות וירטואליות מסוג A3 Edge

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

מגבלות על MIG

כשיוצרים קבוצת מופעים מנוהלת (MIG) עם מכונות וירטואליות מסוג A3 Edge, חלות המגבלות הבאות:

  • צריך להשבית את התיקונים ב-MIG, כמו שמתואר במאמר הזה.

הגבלות על בקשות לשינוי גודל של MIG

בבקשות לשינוי גודל של MIG, חלות המגבלות הבאות:

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

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

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

  1. בחירת אפשרות צריכה: האפשרות שתבחרו לצריכה תקבע איך תקבלו משאבי GPU ותשתמשו בהם. מידע נוסף זמין במאמר בנושא בחירת אפשרות צריכה.
  2. קבלת קיבולת: התהליך לקבלת קיבולת שונה לכל אפשרות צריכה. כדי לקבל מידע על התהליך להשגת קיבולת לאפשרות הצריכה שבחרתם, אפשר לעיין במאמר סקירה כללית על קיבולת.

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

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

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

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

כדי ליצור קבוצת מופעים מנוהלת (MIG), צריך את ההרשאות הבאות:

  • כדי ליצור קבוצת MIG: compute.instanceGroupManagers.create בפרויקט

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

סקירה כללית

יצירת קבוצת MIG עם סוג המכונה A3 Edge כוללת את השלבים הבאים:

  1. יצירת רשתות VPC
  2. אופציונלי: יצירת מדיניות למיקום קומפקטי
  3. יצירת תבנית של הגדרות מכונה
  4. יצירת קבוצת מופעי מכונה מנוהלים (MIG)
  5. התקנת דרייברים של GPU

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

יצירת רשתות VPC

כדי לאפשר תקשורת יעילה בין מכונות וירטואליות של GPU, צריך ליצור רשת ניהול ורשת נתונים אחת או יותר. הרשת לניהול משמשת לגישה חיצונית, למשל SSH, ולרוב התקשורת הכללית ברשת. רשתות הנתונים משמשות לתקשורת עם ביצועים גבוהים בין מעבדי ה-GPU במכונות וירטואליות שונות, למשל לתנועת נתונים של Remote Direct Memory Access ‏ (RDMA).

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

יצירת רשת ניהול, רשת משנה וכלל לחומת האש

כדי להגדיר את רשת הניהול:

  1. יוצרים את רשת הניהול באמצעות הפקודה networks create:

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. יוצרים את רשת המשנה לניהול באמצעות הפקודה networks subnets create:

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. יוצרים כללים לחומת האש באמצעות הפקודה firewall-rules create.

    1. יוצרים כלל לחומת האש עבור רשת הניהול.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. יוצרים את כלל חומת האש tcp:22 כדי להגביל את כתובות ה-IP של המקור שיכולות להתחבר למכונה הווירטואלית באמצעות SSH.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. יוצרים את כלל חומת האש icmp שאפשר להשתמש בו כדי לבדוק אם יש בעיות בהעברת נתונים ברשת.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

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

  • NETWORK_NAME_PREFIX: תחילית השם שתשמש לרשתות ולרשתות המשנה של ה-VPC.
  • PROJECT_ID : מזהה הפרויקט.
  • REGION: האזור שבו רוצים ליצור את הרשתות.
  • SSH_SOURCE_IP_RANGE: טווח כתובות IP בפורמט CIDR. ההגדרה הזו מציינת אילו כתובות IP של מקור יכולות להתחבר למכונה הווירטואלית באמצעות SSH.

יצירת רשתות נתונים, רשתות משנה וכלל לחומת האש

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

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

אופציונלי: יצירת מדיניות למיקום קומפקטי

אתם יכולים להגדיר את מיקום מכונת ה-VM על ידי יצירת מדיניות למיקום קומפקטי. כשמחילים מדיניות מיקום קומפקטית על מכונות וירטואליות, מערכת Compute Engine מנסה ככל האפשר ליצור מכונות וירטואליות שקרובות זו לזו. אם האפליקציה שלכם רגישה לזמן אחזור ונדרשת בה דחיסה מקסימלית, אתם צריכים לציין את השדה maxDistance (תצוגה מקדימה) כשאתם יוצרים מדיניות למיקום קומפקטי. ערך נמוך יותר של maxDistance מבטיח מיקום קרוב יותר של מכונות וירטואליות, אבל גם מגדיל את הסיכוי שחלק מהמכונות הווירטואליות לא ייווצרו.

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

gcloud

כדי ליצור מדיניות למיקום קומפקטי, משתמשים בפקודה gcloud beta compute resource-policies create group-placement:

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

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

  • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  • MAX_DISTANCE: הגדרת המרחק המקסימלי למכונות ה-VM. אפשר לציין את המרחק (תצוגה מקדימה, מומלץ) או לא לציין אותו (מסירים את הדגל --max-distance). בהתאם למה שסוג המכונה תומך בו, אפשר לציין אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות באותו תת-בלוק: 1
    • כדי למקם מכונות וירטואליות באותו בלוק: 2
    • כדי למקם מכונות וירטואליות בבלוקים סמוכים: 3
    מוודאים שההגדרה של המרחק המקסימלי תומכת בסדרת המכונות ובמספר המכונות הווירטואליות שאתם מתכננים ליצור. מידע נוסף זמין במאמר מידע על מדיניות מיקום קומפקטית במאמרי העזרה של Compute Engine.
  • REGION: האזור שבו רוצים ליצור את מדיניות המיקום הקומפקטי. מציינים את האזור שמכיל את התחום שבו מתכננים ליצור מכונות, ומוודאים שסוג המכונה שרוצים להשתמש בו זמין באזור הזה. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.

REST

כדי ליצור מדיניות מיקום קומפקטית, שולחים בקשת POST אל ה-method‏ resourcePolicies.insert. בגוף הבקשה, כוללים את השדה collocation עם הערך COLLOCATED ואת השדה maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

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

  • PROJECT_ID: מזהה הפרויקט.
  • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  • MAX_DISTANCE: הגדרת המרחק המקסימלי למכונות ה-VM. אפשר לציין את המרחק (בגרסת Preview, מומלץ) או לא לציין אותו (מסירים את השדה maxDistance). בהתאם למה שסוג המכונה תומך בו, אפשר לציין אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות באותו תת-בלוק: 1
    • כדי למקם מכונות וירטואליות באותו בלוק: 2
    • כדי למקם מכונות וירטואליות בבלוקים סמוכים: 3
    מוודאים שההגדרה של המרחק המקסימלי תומכת בסדרת המכונות ובמספר המכונות הווירטואליות שאתם מתכננים ליצור. מידע נוסף זמין במאמר מידע על מדיניות מיקום קומפקטית במאמרי העזרה של Compute Engine.
  • REGION: האזור שבו רוצים ליצור את מדיניות המיקום הקומפקטי. מציינים את האזור שמכיל את התחום שבו מתכננים ליצור מכונות, ומוודאים שסוג המכונה שרוצים להשתמש בו זמין באזור הזה. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.

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

כדי לציין את מאפייני ה-VM של קבוצת MIG, יוצרים תבנית של הגדרות מכונה.

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

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

כדי ליצור תבנית של הגדרות מכונה וירטואלית מסוג A3 Edge, צריך לציין ארבעה ממשקי רשת נוספים לתעבורת נתונים של GPUDirect-TCPX. אם עדיין לא עשיתם את זה, אתם צריכים ליצור ארבע רשתות VPC כמו שמתואר במאמר יצירת רשתות VPC.

gcloud

כדי ליצור תבנית של הגדרות מכונה אזורית, משתמשים בפקודה gcloud compute instance-templates create.

הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.

הזמנה

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישה שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
      • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        בנוסף, לגבי בלוק יחיד, מחילים מדיניות למיקום קומפקטי שמציינת מיקום משותף של בלוקים (maxDistance=2) . לאחר מכן, Compute Engine מחיל את המדיניות על השמורה ויוצר מכונות באותו בלוק.

      • כדי ליצור מופעים בבלוק ספציפי:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
  2. אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:

    --resource-policies=POLICY_NAME
    

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

    • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  3. מריצים את הפקודה.

Flex-start

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • RUN_DURATION: משך הזמן שבו אתם רוצים שהמכונות הווירטואליות המבוקשות יפעלו. הערך צריך להיות בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריו d, h, m או s בהתאמה. לדוגמה, מציינים 30m ל-30 דקות או 1d2h3m4s ליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך צריך להיות בין 10 דקות לבין שבעה ימים.
  2. מריצים את הפקודה.

Spot

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הן STOP (ברירת מחדל) או DELETE.

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

    --resource-policies=POLICY_NAME
    

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

    • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  3. מריצים את הפקודה.

REST

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

הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.

הזמנה

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "RESERVATION"
        ]
      },
    "scheduling": {
        "provisioningModel": "RESERVATION_BOUND",
        "instanceTerminationAction": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • REGION: האזור של רשת המשנה.
    • RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישה שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
      • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        בנוסף, לגבי בלוק יחיד, מחילים מדיניות למיקום קומפקטי שמציינת מיקום משותף של בלוקים (maxDistance=2) . לאחר מכן, Compute Engine מחיל את המדיניות על השמורה ויוצר מכונות באותו בלוק.

      • כדי ליצור מופעים בבלוק ספציפי:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
  2. אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה instanceProperties הבא לגוף הבקשה:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

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

    • PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית.
    • REGION: האזור של מדיניות המיקום הקומפקטי.
    • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  3. שולחים את הבקשה.

Flex-start

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • REGION: האזור של רשת המשנה.
    • RUN_DURATION: משך הזמן, בשניות, שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. הערך צריך להיות בין 600, שהוא 600 שניות (10 דקות), לבין 604800, שהוא 604,800 שניות (שבעה ימים).
  2. שולחים את הבקשה.

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

כך עושים את זה:

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

    • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך, ולהשבית את העדכונים האוטומטיים.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloud עבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה cos-121-lts ואילך.
    • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
    • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
    • REGION: האזור של רשת המשנה.
    • TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הן STOP (ברירת מחדל) או DELETE.

  2. אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה instanceProperties הבא לגוף הבקשה:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

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

    • PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית.
    • REGION: האזור של מדיניות המיקום הקומפקטי.
    • POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
  3. שולחים את הבקשה.

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

יצירת קבוצת מופעים מנוהלת (MIG)

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

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

איך יוצרים קבוצת מופעי מכונה מנוהלים (MIG) עם גודל יעד

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

איך יוצרים קבוצת מופעים מנוהלת (MIG) ובקשה לשינוי גודל

משימות של אימון ושיפור מודלים של ML בסביבה מבוזרת

יצירת MIG עם גודל יעד

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

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

gcloud

כדי ליצור קבוצת MIG עם גודל יעד מוגדר, משתמשים בפקודה instance-groups managed create.

כדי ליצור קבוצת MIG אזורית או אזורית:

  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --zone=ZONE
    
  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --region=REGION
    
מחליפים את מה שכתוב בשדות הבאים:
  • MIG_NAME: השם של ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: מספר המופעים שרוצים בקבוצת המופעים המנוהלת.
  • ZONE: האזור שבו רוצים ליצור את ה-MIG.
  • REGION: האזור שבו רוצים ליצור את ה-MIG. במקום אזור, אפשר לציין את התחומים באזור מסוים של MIG אזורי באמצעות הדגל --zones.

REST

כדי ליצור קבוצת MIG עם גודל יעד מוגדר, שולחים בקשת POST.

כדי ליצור קבוצת MIG אזורית או אזורית:

  • כדי ליצור קבוצת 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": TARGET_SIZE
    }
    
  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST אל ה-method‏ regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE
      }
    
מחליפים את מה שכתוב בשדות הבאים:
  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור שבו רוצים ליצור את קבוצת ה-MIG.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • MIG_NAME: השם של ה-MIG.
  • TARGET_SIZE: מספר המופעים שרוצים להוסיף ל-MIG.

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

אם אתם צריכים כמה מכונות וירטואליות בבת אחת כדי להתחיל משימה, אתם יכולים ליצור קבוצת מכונות מנוהלת (MIG) ולבקש שינוי גודל בקבוצת המכונות המנוהלת, כמו שמתואר בקטע הזה.

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

gcloud

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

הזמנה

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

Flex-start

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

  • כדי ליצור קבוצת MIG אזורית ולשלוח בה בקשה לשינוי גודל:

    1. כדי ליצור קבוצת מופעים מנוהלת אזורית, משתמשים בפקודה instance-groups managed create באופן הבא.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. כדי ליצור בקשה לשינוי הגודל של קבוצת ה-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 אזורית ולשלוח בה בקשה לשינוי גודל:

    1. יוצרים קבוצת MIG אזורית באמצעות הפקודה instance-groups managed create באופן הבא.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. כדי ליצור בקשה לשינוי הגודל של קבוצת ה-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
      

Spot

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

מחליפים את מה שכתוב בשדות הבאים:
  • MIG_NAME: השם של ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • ZONE: האזור שבו רוצים ליצור את ה-MIG. גם כשמגדירים קבוצת מופעים מנוהלת אזורית, צריך לציין אזור. האזור הזה צריך להיות האזור שמכיל את הפרופיל של רשת ה-VPC, וצריך להיות אזור שבו סוג המכונה זמין. מידע נוסף מופיע בקטע מגבלות.
  • RESIZE_REQUEST_NAME: השם של בקשת שינוי הגודל, שחייב להיות ייחודי ב-MIG שצוין. אחרת, יצירת בקשת השינוי תיכשל.
  • COUNT: מספר המופעים שרוצים להוסיף לקבוצת המופעים המנוהלת בבת אחת.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG.

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

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

כדי ליצור בקשה לשינוי גודל עם שמות ספציפיים של מכונות וירטואליות ב-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
    
מחליפים את INSTANCE_NAMES ברשימה מופרדת בפסיקים של שמות המכונות הווירטואליות. לדוגמה, instance-1,instance-2,instance-3.

REST

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

הזמנה

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

  • כדי ליצור קבוצת MIG אזורית ובקשה לשינוי הגודל שלה:
    1. כדי ליצור קבוצת 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
      }
      
    2. כדי ליצור בקשה לשינוי הגודל בקבוצת מופעי מכונה מנוהלים (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 אזורית ובקשה לשינוי הגודל שלה, מבצעים את הפעולות הבאות:
    1. כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST ל-method‏ 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",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. כדי ליצור בקשת שינוי גודל ב-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
      }
      

Flex-start

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

  • כדי ליצור קבוצת MIG אזורית ובקשה לשינוי הגודל שלה:
    1. כדי ליצור קבוצת 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"
        }
      }
      
    2. כדי ליצור בקשה לשינוי הגודל בקבוצת מופעי מכונה מנוהלים (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 אזורית ובקשה לשינוי הגודל שלה, מבצעים את הפעולות הבאות:
    1. כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST ל-method‏ 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",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. כדי ליצור בקשת שינוי גודל ב-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
      }
      

Spot

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

  • כדי ליצור קבוצת MIG אזורית ובקשה לשינוי הגודל שלה:
    1. כדי ליצור קבוצת 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
      }
      
    2. כדי ליצור בקשה לשינוי הגודל בקבוצת מופעי מכונה מנוהלים (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 אזורית ובקשה לשינוי הגודל שלה, מבצעים את הפעולות הבאות:
    1. כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST ל-method‏ 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",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. כדי ליצור בקשת שינוי גודל ב-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: מזהה הפרויקט.
  • ZONE: האזור שבו רוצים ליצור את ה-MIG. האזור הזה צריך להיות זהה לאזור שמכיל את הפרופיל של רשת ה-VPC, וצריך להיות אזור שבו סוג המכונה שבחרתם זמין. מידע נוסף מופיע בקטע מגבלות.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG. האזור הזה צריך להיות אותו אזור שמכיל את הפרופיל של רשת ה-VPC, והוא צריך לכלול אזור שבו סוג המכונה שבחרתם זמין. מידע נוסף מופיע בקטע מגבלות.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • MIG_NAME: השם של ה-MIG.
  • RESIZE_REQUEST_NAME: השם של בקשת שינוי הגודל, שחייב להיות ייחודי ב-MIG שצוין. אחרת, יצירת בקשת השינוי תיכשל.
  • COUNT: מספר המופעים שרוצים להוסיף לקבוצת המופעים המנוהלת בבת אחת

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

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

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

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

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

מחליפים את INSTANCE_NAME_1, INSTANCE_NAME_2 בשמות של המכונות הווירטואליות.

מה השלב הבא?