יצירת מכונת MIG Ultra בגודל A4 או A3 שעברה אופטימיזציה באמצעות AI

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

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

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

מגבלות

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

מגבלות על מכונות וירטואליות מסוג A4 או A3 Ultra

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

A4

A3 Ultra

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

סקירה כללית

כדי ליצור קבוצת MIG עם סוג המכונה A4 או A3 Ultra, צריך לבצע את השלבים הבאים:

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

יצירת רשתות VPC

כדי להגדיר את הרשת למכונות מסוג A4 או A3 Ultra, יוצרים שלוש רשתות VPC לממשקי הרשת הבאים:

  • ‫2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין מארחים.
  • רשת VPC אחת עם פרופיל הרשת RoCE לכרטיסי ה-NIC מסוג CX-7. לרשת ה-VPC של RoCE למכונות וירטואליות צריכות להיות 8 רשתות משנה, אחת לכל CX-7 NIC. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet‏ (RoCE), שמספק תקשורת ברוחב פס גבוה וזמן אחזור קצר, שחיונית לתקשורת בין יחידות GPU.

למידע נוסף על סידור NIC, ראו בדיקת רוחב הפס של הרשת וסידור NIC.

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

מדריכי הוראות

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

ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת ההעברה המקסימלית (MTU). במכונות מסוג A4 או A3 Ultra, גודל ה-MTU המומלץ הוא 8896 בייטים. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.

Script

כדי ליצור את הרשתות, מבצעים את השלבים הבאים.

ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת ההעברה המקסימלית (MTU). במכונות מסוג A4 או A3 Ultra, גודל ה-MTU המומלץ הוא 8896 בייטים. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.

  1. משתמשים בסקריפט הבא כדי ליצור רשתות VPC ל-gVNIC ול-CX-7 NIC.

    
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
    
        #!/bin/bash
    
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for RDMA NICs
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
          
  2. מחליפים את מה שכתוב בשדות הבאים:

    • ‫GVNIC_NAME_PREFIX: התחילית של השם המותאם אישית של רשתות ה-VPC הרגילות ושל רשתות המשנה של ה-gVNIC.
    • ‫RDMA_NAME_PREFIX: התחילית של השם בהתאמה אישית של רשת ה-VPC של RoCE למכונות וירטואליות (roce) ולרשתות משנה של כרטיסי הרשת CX-7.
    • ‫ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין, למשל us-central1-a. למידע על אזורים, קראו את המאמר זמינות של GPU לפי אזורים ותחומים.
    • ‫REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה חייב להתאים לאזור שצוין. לדוגמה, אם האזור הוא us-central1-a, המחוז הוא us-central1.
    • ‫IP_RANGE: טווח כתובות ה-IP שמשמש לכללי חומת האש של SSH.
  3. אופציונלי: כדי לוודא שמשאבי רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
    1. נכנסים לדף VPC networks במסוף Google Cloud .

      כניסה לדף VPC networks

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

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

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

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

gcloud

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

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

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • כדי להגדיר מיקום משותף קפדני של מכונות וירטואליות מסוג A4 או A3 Ultra, מציינים את הדגלים --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: המרחק המקסימלי בטופולוגיה. מציינים את אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות מסוג A4 או A3 Ultra באותו בלוק משנה: SUBBLOCK
    • כדי להציב מכונות וירטואליות מסוג A4 או A3 Ultra באותו בלוק: BLOCK
    • כדי למקם A4 VM באותו אשכול: CLUSTER
    הערה: מרחק מקסימלי קצר יותר יכול להפחית את הסבירות לזמינות של המכונה הווירטואלית. מידע נוסף זמין במאמר המאפיין "מרחק טופולוגי מקסימלי".
  • ‫REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים אזור שבו רוצים ליצור את ה-MIG, וסוג המכונה שבו רוצים להשתמש זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.

REST

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

  • כדי להקצות A4 VM לפי מידת הזמינות, ציינו את השדה type בבקשה באופן הבא:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • כדי להגדיר מיקום משותף קפדני למכונות וירטואליות מסוג A4 או A3 Ultra, מציינים את השדות 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: המרחק המקסימלי בטופולוגיה. מציינים את אחד מהערכים הבאים:
    • כדי למקם מכונות וירטואליות מסוג A4 או A3 Ultra באותו בלוק משנה: SUBBLOCK
    • כדי להציב מכונות וירטואליות מסוג A4 או A3 Ultra באותו בלוק: BLOCK
    • כדי למקם מכונות וירטואליות מסוג A4 באותו אשכול: CLUSTER
    הערה: מרחק מקסימלי קצר יותר יכול להפחית את הסבירות לזמינות של המכונה הווירטואלית. מידע נוסף זמין במאמר המאפיין Maximum topology distance.

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

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

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

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

gcloud

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

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

הזמנה

במכונות מסוג A4 או A3 Ultra אפשר להשתמש בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד בגושי קיבולת
  • מקומות שמורים לעתיד במצב תזמון

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

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=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,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: סוג המכונה שבה משתמשים במכונה מסוג A4 או A3 Ultra. למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫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

התחלה גמישה (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=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה מסוג A4 או A3 Ultra. למידע נוסף, קראו את המאמר סוגי מכונות GPU במסמכי התיעוד של Compute Engine.
  • ‫IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות
  • ‫IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה.
  • ‫REGION: האזור שבו רוצים ליצור את התבנית של הגדרות המכונה. מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, ראו זמינות GPU לפי אזורים ותחומים.
  • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • ‫GVNIC_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בכרטיסי רשת של gVNIC.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫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=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

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

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

REST

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

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

הזמנה

במכונות מסוג A4 או A3 Ultra אפשר להשתמש בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד בגושי קיבולת
  • מקומות שמורים לעתיד במצב תזמון

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

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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "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: סוג המכונה שבה משתמשים במכונה מסוג A4 או A3 Ultra. למידע נוסף, קראו את המאמר סוגי מכונות 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: האזור של רשת המשנה.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫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

התחלה גמישה (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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה מסוג A4 או A3 Ultra. למידע נוסף, קראו את המאמר סוגי מכונות 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: האזור של רשת המשנה.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

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

  • ‫INSTANCE_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה.
  • ‫MACHINE_TYPE: סוג המכונה שבה משתמשים במכונה מסוג A4 או A3 Ultra. למידע נוסף, קראו את המאמר סוגי מכונות 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: האזור של רשת המשנה.
  • ‫RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA.
  • ‫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, כמו שמתואר בקטע הזה.

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

gcloud

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

הזמנה

הפקודות שמשמשות ליצירת קבוצת 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
      }
      

התחלה גמישה (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.

מה השלב הבא?