יצירת מכונת MIG מסוג A3 High או A3 Mega שעברה אופטימיזציה באמצעות AI

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

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

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

מגבלות

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

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

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

A3 Mega

A3 High

מגבלות של קבוצת המכונות המנוהלת (MIG)

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

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

מגבלות על בקשות לשינוי כמות ב-MIG

המגבלות הבאות חלות על בקשות לשינוי כמות של MIG:

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

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

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

  1. בחירת אפשרות צריכה: אפשרות הצריכה שתבחרו תקבע איך תקבלו את משאבי ה-GPU ותשתמשו בהם. מידע נוסף זמין במאמר בחירת אפשרות צריכה.
  2. השגת קיבולת: התהליך להשגת קיבולת שונה בכל אפשרות צריכה. במאמר סקירה כללית על קיבולת מוסבר איך מקבלים קיבולת לאפשרות הצריכה שבחרתם.
  3. אימות ההרשאות של סוכן השירות של Google APIs: כשיוצרים מכונות וירטואליות בקבוצת מכונות מנוהלת (MIG), Compute Engine משתמש בסוכן השירות של Google APIs (PROJECT_NUMBER@cloudservices.) בפרויקט. אם בתבנית של הגדרות המכונה נעשה שימוש במשאבים מפרויקט אחר, צריך לוודא שלסוכן השירות הזה יש את ההרשאות הנדרשות:

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

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

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

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

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

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

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

סקירה כללית

כדי ליצור קבוצת MIG עם סוג המכונה A3 Mega או A3 High (8 מעבדי GPU), צריך לבצע את השלבים הבאים:

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

יצירת רשתות VPC

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

ברשתות VPC כאלה, מומלץ להגדיר ערך גדול יותר ליחידת ההעברה המקסימלית (MTU). ערכי MTU גבוהים יותר מגדילים את גודל החבילה ומפחיתים את התקורה של כותרת החבילה, וכך מגדילים את תפוקת הנתונים של המטען הייעודי (payload). מידע נוסף על יצירת רשתות 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.

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

מספר רשתות הנתונים משתנה בהתאם לסוג מכונת ה-GPU שאתם יוצרים.

A3 Mega

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

for N in $(seq 1 8); 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

A3 High

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

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

אופציונלי: יצירת מדיניות עומס עבודה

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

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

gcloud

כדי ליצור מדיניות עומסי עבודה, משתמשים בפקודה gcloud compute resource-policies create workload-policy.

  • כדי להקצות מכונות וירטואליות לפי מידת הזמינות, מציינים את הדגל --type=high-throughput בפקודה:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • כדי להגדיר מיקום משותף קפדני של מכונות וירטואליות, מציינים בפקודה את הדגלים --max-topology-distance ו---type=high-throughput:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

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

  • ‫WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
  • ‫TOPOLOGY_DISTANCE: המרחק המקסימלי בטופולוגיה. מציינים את אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות באותו בלוק: BLOCK
    • כדי למקם מכונות וירטואליות באותו אשכול: CLUSTER
    הערה: מרחק מקסימלי קצר יותר יכול להפחית את הסבירות לזמינות של המכונה הווירטואלית. מידע נוסף זמין במאמר המאפיין "מרחק טופולוגי מקסימלי".
  • ‫REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים אזור שבו רוצים ליצור את ה-MIG, וסוג המכונה שבו רוצים להשתמש זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.

REST

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

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

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • כדי להגדיר מיקום משותף קפדני של מכונות וירטואליות, מציינים את השדות maxTopologyDistance ו-type בבקשה באופן הבא:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

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

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים את האזור שבו רוצים ליצור את ה-MIG, ומוודאים שסוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
  • ‫TOPOLOGY_DISTANCE: המרחק המקסימלי בטופולוגיה. מציינים את אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות באותו בלוק: BLOCK
    • כדי למקם מכונות וירטואליות באותו אשכול: CLUSTER
    הערה: מרחק מקסימלי קצר יותר יכול להפחית את הסבירות לזמינות של המכונה הווירטואלית. מידע נוסף זמין במאמר המאפיין Maximum topology distance.

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

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

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

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

A3 Mega

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

gcloud

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

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

הזמנה

מכונות A3 Mega או A3 High (עם 8 יחידות GPU) תומכות בכמה מודלים של הקצאה להזמנות. בוחרים את הכרטיסייה שמתאימה לסוג ההזמנה שרוצים לנצל.

  • משתמשים בפרמטרים Reservation-bound, שמציינים את מודל ההקצאה שקשור להזמנה, במקרים הבאים:

    • מקומות שמורים לעתיד בגושי קיבולת
    • מקומות שמורים לעתיד במצב תזמון
  • משתמשים בפרמטרים של Standard reservation, שמציינים את מודל ההקצאה הרגיל, במקרים הבאים:

    • מקומות שמורים לפי הצורך
    • מקומות שמורים לעתיד רגילים

הזמנה מראש

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=hyperdisk-balanced \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בתוך ההזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      בנוסף, כדי ליצור בלוק אחד, יוצרים את קבוצת ה-MIG על ידי החלת מדיניות של עומס עבודה שמציינת מיקום משותף של בלוק (maxTopologyDistance=BLOCK) . לאחר מכן, Compute Engine מחיל את המדיניות על ההזמנה ויוצר מכונות באותו בלוק.

    • כדי ליצור מכונות בבלוק ספציפי:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

הזמנה רגילה

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

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=hyperdisk-balanced \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

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

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

    • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
    • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
    • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
    • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
    • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

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

    • ‫RESERVATION: ההזמנה שבה רוצים להשתמש. מציינים את אחד מהערכים הבאים, בהתאם לערך שציינתם בשדה RESERVATION_AFFINITY:

      • אם ציינתם את any, החליפו את RESERVATION במחרוזת ריקה (""). לחלופין, אתם יכולים להסיר את הדגל --reservation לגמרי.
      • אם ציינתם את specific, החליפו את RESERVATION בערך הבא:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

        • ‫RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
        • ‫RESERVATION_NAME: שם ההזמנה.
  2. כברירת מחדל, המכונה מופעלת מחדש באופן אוטומטי אם היא קורסת או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. כדי להשבית את ההפעלה האוטומטית מחדש, מוסיפים את הדגל הבא:

    --no-restart-on-failure
  3. מריצים את הפקודה.

על פי דרישה

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

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=hyperdisk-balanced \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

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

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

    • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
    • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
    • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
    • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
    • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

      • ‫none (On-demand capacity is required): המכונה לא תוכל להשתמש בקיבולת של מקום שמור.

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

    --no-restart-on-failure
  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=hyperdisk-balanced \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RUN_DURATION: משך הזמן שבו רוצים להריץ את המכונות הווירטואליות המבוקשות. צריך לציין את הערך כמספר הימים, השעות, הדקות או השניות, ואחריו את האותיות d,‏ h,‏ m ו-s בהתאמה. לדוגמה, מציינים 30m ל-30 דקות או 1d2h3m4s ליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך צריך להיות בין 10 דקות ל-7 ימים.

כרטיס 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=hyperdisk-balanced \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

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

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

REST

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

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

הזמנה

מכונות A3 Mega או A3 High (עם 8 יחידות GPU) תומכות בכמה מודלים של הקצאה להזמנות. בוחרים את הכרטיסייה שמתאימה לסוג ההזמנה שרוצים לנצל.

  • משתמשים בפרמטרים Reservation-bound, שמציינים את מודל ההקצאה שקשור להזמנה, במקרים הבאים:

    • מקומות שמורים לעתיד בגושי קיבולת
    • מקומות שמורים לעתיד במצב תזמון
  • משתמשים בפרמטרים של Standard reservation, שמציינים את מודל ההקצאה הרגיל, במקרים הבאים:

    • מקומות שמורים לפי הצורך
    • מקומות שמורים לעתיד רגילים

הזמנה מראש

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "RESERVATION"
        ]
      },
    "scheduling": {
        "provisioningModel": "RESERVATION_BOUND",
        "instanceTerminationAction": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בתוך ההזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      בנוסף, כדי ליצור בלוק אחד, יוצרים את קבוצת ה-MIG על ידי החלת מדיניות של עומס עבודה שמציינת מיקום משותף של בלוק (maxTopologyDistance=BLOCK) . לאחר מכן, Compute Engine מחיל את המדיניות על ההזמנה ויוצר מכונות באותו בלוק.

    • כדי ליצור מכונות בבלוק ספציפי:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

הזמנה רגילה

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫AUTOMATIC_RESTART: אם המכונה מופעלת מחדש באופן אוטומטי במקרה של קריסה, או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. מציינים את הערך true כדי להפעיל את ההפעלה האוטומטית מחדש (ברירת המחדל) או את הערך false כדי להשבית אותה.

  • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

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

  • ‫RESERVATION: ההזמנה שבה רוצים להשתמש. מציינים את אחד מהערכים הבאים, בהתאם לערך שציינתם בשדה RESERVATION_AFFINITY:

    • אם ציינתם את ANY_RESERVATION, מחקו את RESERVATION כדי שהערך יהיה מחרוזת ריקה (""). לחלופין, אתם יכולים להסיר את השדות key ו-values לגמרי.
    • אם ציינתם את SPECIFIC_RESERVATION, החליפו את RESERVATION בערך הבא:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

      • ‫RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
      • ‫RESERVATION_NAME: שם ההזמנה.

על פי דרישה

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫AUTOMATIC_RESTART: אם המכונה מופעלת מחדש באופן אוטומטי במקרה של קריסה, או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. מציינים את הערך true כדי להפעיל את ההפעלה האוטומטית מחדש (ברירת המחדל) או את הערך false כדי להשבית אותה.

  • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

    • ‫NO_RESERVATION (On-demand capacity is required): המכונה לא תוכל להשתמש בקיבולת של מקום שמור.

התחלה גמישה (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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

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

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

כרטיס 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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

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

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

A3 High

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

gcloud

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

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

הזמנה

מכונות A3 Mega או A3 High (עם 8 יחידות GPU) תומכות בכמה מודלים של הקצאה להזמנות. בוחרים את הכרטיסייה שמתאימה לסוג ההזמנה שרוצים לנצל.

  • משתמשים בפרמטרים Reservation-bound, שמציינים את מודל ההקצאה שקשור להזמנה, במקרים הבאים:

    • מקומות שמורים לעתיד בגושי קיבולת
    • מקומות שמורים לעתיד במצב תזמון
  • משתמשים בפרמטרים של Standard reservation, שמציינים את מודל ההקצאה הרגיל, במקרים הבאים:

    • מקומות שמורים לפי הצורך
    • מקומות שמורים לעתיד רגילים

הזמנה מראש

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=hyperdisk-balanced \
    --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

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בתוך ההזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      בנוסף, כדי ליצור בלוק אחד, יוצרים את קבוצת ה-MIG על ידי החלת מדיניות של עומס עבודה שמציינת מיקום משותף של בלוק (maxTopologyDistance=BLOCK) . לאחר מכן, Compute Engine מחיל את המדיניות על ההזמנה ויוצר מכונות באותו בלוק.

    • כדי ליצור מכונות בבלוק ספציפי:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

הזמנה רגילה

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

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=hyperdisk-balanced \
    --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=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

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

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

    • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
    • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
    • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
    • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
    • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

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

    • ‫RESERVATION: ההזמנה שבה רוצים להשתמש. מציינים את אחד מהערכים הבאים, בהתאם לערך שציינתם בשדה RESERVATION_AFFINITY:

      • אם ציינתם את any, החליפו את RESERVATION במחרוזת ריקה (""). לחלופין, אתם יכולים להסיר את הדגל --reservation לגמרי.
      • אם ציינתם את specific, החליפו את RESERVATION בערך הבא:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

        • ‫RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
        • ‫RESERVATION_NAME: שם ההזמנה.
  2. כברירת מחדל, המכונה מופעלת מחדש באופן אוטומטי אם היא קורסת או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. כדי להשבית את ההפעלה האוטומטית מחדש, מוסיפים את הדגל הבא:

    --no-restart-on-failure
  3. מריצים את הפקודה.

על פי דרישה

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

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=hyperdisk-balanced \
    --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=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

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

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

    • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
    • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
    • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
    • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
    • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

      • ‫none (On-demand capacity is required): המכונה לא תוכל להשתמש בקיבולת של מקום שמור.

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

    --no-restart-on-failure
  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=hyperdisk-balanced \
    --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 \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RUN_DURATION: משך הזמן שבו רוצים להריץ את המכונות הווירטואליות המבוקשות. צריך לציין את הערך כמספר הימים, השעות, הדקות או השניות, ואחריו את האותיות d,‏ h,‏ m ו-s בהתאמה. לדוגמה, מציינים 30m ל-30 דקות או 1d2h3m4s ליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך צריך להיות בין 10 דקות ל-7 ימים.

כרטיס 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=hyperdisk-balanced \
    --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

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

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

REST

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

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

הזמנה

מכונות A3 Mega או A3 High (עם 8 יחידות GPU) תומכות בכמה מודלים של הקצאה להזמנות. בוחרים את הכרטיסייה שמתאימה לסוג ההזמנה שרוצים לנצל.

  • משתמשים בפרמטרים Reservation-bound, שמציינים את מודל ההקצאה שקשור להזמנה, במקרים הבאים:

    • מקומות שמורים לעתיד בגושי קיבולת
    • מקומות שמורים לעתיד במצב תזמון
  • משתמשים בפרמטרים של Standard reservation, שמציינים את מודל ההקצאה הרגיל, במקרים הבאים:

    • מקומות שמורים לפי הצורך
    • מקומות שמורים לעתיד רגילים

הזמנה מראש

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": "hyperdisk-balanced",
          "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
      }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בתוך ההזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעים בכמה בלוקים או בבלוק אחד:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      בנוסף, כדי ליצור בלוק אחד, יוצרים את קבוצת ה-MIG על ידי החלת מדיניות של עומס עבודה שמציינת מיקום משותף של בלוק (maxTopologyDistance=BLOCK) . לאחר מכן, Compute Engine מחיל את המדיניות על ההזמנה ויוצר מכונות באותו בלוק.

    • כדי ליצור מכונות בבלוק ספציפי:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

הזמנה רגילה

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": "hyperdisk-balanced",
          "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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫AUTOMATIC_RESTART: אם המכונה מופעלת מחדש באופן אוטומטי במקרה של קריסה, או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. מציינים את הערך true כדי להפעיל את ההפעלה האוטומטית מחדש (ברירת המחדל) או את הערך false כדי להשבית אותה.

  • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

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

  • ‫RESERVATION: ההזמנה שבה רוצים להשתמש. מציינים את אחד מהערכים הבאים, בהתאם לערך שציינתם בשדה RESERVATION_AFFINITY:

    • אם ציינתם את ANY_RESERVATION, מחקו את RESERVATION כדי שהערך יהיה מחרוזת ריקה (""). לחלופין, אתם יכולים להסיר את השדות key ו-values לגמרי.
    • אם ציינתם את SPECIFIC_RESERVATION, החליפו את RESERVATION בערך הבא:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

      • ‫RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
      • ‫RESERVATION_NAME: שם ההזמנה.

על פי דרישה

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": "hyperdisk-balanced",
          "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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה של A3 Mega או A3 High (8 מעבדי GPU). למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫REGION: האזור של רשת המשנה.
  • ‫AUTOMATIC_RESTART: אם המכונה מופעלת מחדש באופן אוטומטי במקרה של קריסה, או אם Compute Engine עוצר אותה לצורך עצירה מתוכננת, כמו אירוע תחזוקה. מציינים את הערך true כדי להפעיל את ההפעלה האוטומטית מחדש (ברירת המחדל) או את הערך false כדי להשבית אותה.

  • ‫RESERVATION_AFFINITY: המקומות השמורים שהמכונה יכולה לצרוך, אם אפשר. מציינים אחת מהאפשרויות הבאות:

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

    • ‫NO_RESERVATION (On-demand capacity is required): המכונה לא תוכל להשתמש בקיבולת של מקום שמור.

התחלה גמישה (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": "hyperdisk-balanced",
          "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": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

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

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

כרטיס 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": "hyperdisk-balanced",
          "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
    }
  }
}

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

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

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

יצירת MIG

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

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

איך יוצרים MIG עם גודל יעד

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

איך יוצרים קבוצת MIG ובקשה לשינוי כמות

משימות מבוזרות של אימון וכוונון מודלים של למידת מכונה

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

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

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

gcloud

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

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

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

  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --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: מספר המכונות שרוצים שיהיו בקבוצת המכונות המנוהלות.
  • ‫WORKLOAD_POLICY_URL: אופציונלי. כתובת ה-URL של מדיניות עומס העבודה, לדוגמה: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את הדגל --workload-policy.
  • ‫ZONE: האזור שבו רוצים ליצור את ה-MIG. אם אתם משתמשים במדיניות עומסי עבודה, ציינו אזור בתוך האזור של המדיניות.
  • ‫REGION: האזור שבו רוצים ליצור את ה-MIG. אם אתם משתמשים במדיניות עומס עבודה, ציינו את אותו אזור כמו של המדיניות. בקבוצת MIG אזורית, במקום אזור, אפשר לציין את האזורים באותו אזור באמצעות הדגל --zones.

REST

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

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

כדי ליצור קבוצת MIG אזורית או קבוצת 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,
      "resourcePolicies": {
        "workloadPolicy": "WORKLOAD_POLICY_URL"
      }
    }
    
  • כדי ליצור קבוצת 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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
    
מחליפים את הערכים הבאים:
  • ‫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.
  • ‫WORKLOAD_POLICY_URL: אופציונלי. כתובת ה-URL של מדיניות עומס העבודה, לדוגמה: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את השדה resourcePolicies.workloadPolicy.

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

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

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

gcloud

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

הזמנה

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

יוצרים קבוצת MIG אזורית או תחומית ובקשה לשינוי כמות באופן הבא:

על פי דרישה

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

יוצרים קבוצת MIG אזורית או תחומית ובקשה לשינוי כמות באופן הבא:

התחלה גמישה (Flex-start)

יוצרים קבוצת MIG אזורית או תחומית ובקשה לשינוי כמות באופן הבא:

  • כדי ליצור קבוצת 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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
      
          --workload-policy=WORKLOAD_POLICY_URL \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none \
          --workload-policy=WORKLOAD_POLICY_URL
        
    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 משתמשות במדיניות עומסי עבודה כדי לציין את מיקום המכונה. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את הדגל --workload-policy.

יוצרים קבוצת MIG אזורית או תחומית ובקשה לשינוי כמות באופן הבא:

מחליפים את הערכים בשדות הבאים:
  • ‫MIG_NAME: שם ה-MIG.
  • ‫INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שבה רוצים להשתמש כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • ‫WORKLOAD_POLICY_URL: אופציונלי. כתובת ה-URL של מדיניות עומס העבודה, לדוגמה: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את הדגל --workload-policy.
  • ‫ZONE: האזור שבו רוצים ליצור את ה-MIG. גם בקבוצת MIG אזורית צריך לציין אזור. האזור הזה חייב להיות האזור שמכיל את הפרופיל של רשת ה-VPC, ואזור שבו סוג המכונה זמין. מידע נוסף מופיע בקטע מגבלות.
  • ‫RESIZE_REQUEST_NAME: השם של הבקשה לשינוי הגודל, שחייב להיות ייחודי בתוך קבוצת ה-MIG שצוינה. אחרת, הבקשה לשינוי הגודל תיכשל.
  • ‫COUNT: מספר המכונות שרוצים להוסיף ל-MIG בבת אחת.
  • ‫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 משתמשות במדיניות של עומס עבודה כדי לציין את מיקום המכונה. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את השדה resourcePolicies.workloadPolicy.

יוצרים קבוצת 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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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
      }
      

על פי דרישה

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

יוצרים קבוצת 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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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 משתמשות במדיניות של עומס עבודה כדי לציין את מיקום המכונה. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את השדה resourcePolicies.workloadPolicy.

יוצרים קבוצת 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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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.
  • ‫WORKLOAD_POLICY_URL: אופציונלי. כתובת ה-URL של מדיניות עומס העבודה, לדוגמה: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. אם אתם לא רוצים להשתמש במדיניות עומס עבודה, הסירו את השדה resourcePolicies.workloadPolicy.
  • ‫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 בשמות של המכונות הווירטואליות.

התקנת מנהלי התקנים של GPU

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

אופציונלי: הפעלת מצב NVIDIA Multi-Instance GPU

מצב GPU עם כמה מופעים במקביל (MIG) הוא תכונה שאפשר להפעיל ב-GPU נתמך של NVIDIA. אחרי שיוצרים מכונה, אפשר להפעיל מצב MIG ב-GPU יחיד שמחובר למכונה. כשהמצב MIG מופעל, ה-GPU הבודד מחולק לעד שבעה מכונות GPU נפרדות. כל מכונה פועלת בו-זמנית, ולכל אחת מהן יש זיכרון, מטמון ובלוקי SM ‏(Streaming Multiprocessor) משלה. לאחר מכן, תוכלו להריץ עומסי עבודה שונים על המכונות האלה עם GPU במקביל. מידע נוסף על השימוש במצב MIG מופיע במאמר Multi-Instance GPU (MIG) User Guide במסמכי התיעוד של NVIDIA.

מה השלב הבא?