יצירת מופע שעבר אופטימיזציה באמצעות AI עם A4 או A3 Ultra

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

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

מגבלות

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

A4

  • לא מקבלים הנחות על שימוש קבוע והנחות גמישות תמורת התחייבות לשימוש על מופעים שמשתמשים בסוג מכונה A4.
  • אפשר להשתמש בסוג המכונה A4 רק באזורים ובאזורי זמינות מסוימים.
  • אי אפשר להשתמש בדיסק לאחסון מתמיד (אזורי או של תחום מוגדר). אפשר להשתמש רק ב-Google Cloud Hyperdisk.
  • סוג המכונה A4 זמין רק בפלטפורמת המעבד Emerald Rapids.
  • אי אפשר לשנות את סוג המכונה של מופע לסוג מכונה A4 או מסוג מכונה A4. תצטרכו ליצור מכונה חדשה עם סוג המכונה הזה.
  • סוגי המכונות A4 לא תומכים בדיירות יחידה.
  • אי אפשר להריץ מערכות הפעלה של Windows בסוג מכונה A4.
  • במקרים של מופעי A4, כשמשתמשים ב-ethtool -S כדי לעקוב אחרי רשתות GPU, מוני יציאות פיזיות שמסתיימים ב-_phy לא מתעדכנים. זהו התנהגות צפויה במקרים שבהם נעשה שימוש בארכיטקטורת MRDMA Virtual Function (VF). מידע נוסף זמין במאמר פונקציות MRDMA וכלים לניטור רשת.
  • אי אפשר לצרף דיסקים של Hyperdisk ML שנוצרו לפני 4 בפברואר 2026 לסוגי מכונות A4.

A3 Ultra

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

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

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

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

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

המסוף

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

gcloud

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

gcloud init

REST

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

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

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

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

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

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

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

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

  • ‫compute.instances.create בפרויקט
  • כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM)‏: ‫compute.images.useReadOnly בקובץ אימג'
  • כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית: ‫compute.snapshots.useReadOnly בקובץ snapshot
  • כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית: compute.instanceTemplates.useReadOnly בתבנית של הגדרות המכונה
  • כדי לציין רשת משנה למכונה הווירטואלית: ‫compute.subnetworks.use בפרויקט או ברשת המשנה שנבחרה
  • כדי לציין כתובת IP סטטית למכונה הווירטואלית: ‫compute.addresses.use בפרויקט
  • כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC: ‫compute.subnetworks.useExternalIp בפרויקט או ברשת המשנה שנבחרה
  • כדי להקצות רשת מדור קודם למכונה הווירטואלית: ‫compute.networks.use בפרויקט
  • כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם: ‫compute.networks.useExternalIp בפרויקט
  • כדי להגדיר מטא-נתונים של המכונה הווירטואלית: ‫compute.instances.setMetadata בפרויקט
  • כדי להגדיר תגים למכונה הווירטואלית: ‫compute.instances.setTags במכונה הווירטואלית
  • כדי להגדיר תוויות למכונה הווירטואלית: ‫compute.instances.setLabels במכונה הווירטואלית
  • כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית: ‫compute.instances.setServiceAccount במכונה הווירטואלית
  • כדי ליצור דיסק חדש למכונה הווירטואלית: ‫compute.disks.create בפרויקט
  • כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה: ‫compute.disks.use בדיסק
  • כדי לצרף דיסק קיים במצב קריאה-בלבד: ‫compute.disks.useReadOnly בדיסק

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

סקירה כללית

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

  1. יצירת רשתות VPC
  2. אופציונלי: יצירת מדיניות למיקום קומפקטי
  3. יצירת מופע
  4. התקנת דרייברים של GPU
  5. אופציונלי: הפעלת מצב NVIDIA Multi-Instance GPU

יצירת רשתות VPC

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

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

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

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

מדריכים להוראה

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

ברשתות ה-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) ולתת-רשתות לכרטיסי ה-NIC של 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

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

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

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

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

gcloud

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

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

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

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

REST

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

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

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

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

יצירת מכונה וירטואלית מסוג A4 או A3 Ultra

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

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

המסוף

  1. נכנסים לדף Create an instance במסוף Google Cloud .

    כניסה לדף Create an instance

  2. מציינים שם למכונה הווירטואלית. מוסכמות למתן שמות למשאבים

  3. בוחרים את האזור והתחום שבהם רוצים ליצור מכונה וירטואלית. כאן אפשר לראות את רשימת האזורים והתחומים שבהם אפשר להשתמש ב-GPU.

  4. לוחצים על הכרטיסייה GPUs ומבצעים את השלבים הבאים:

    1. ברשימה GPU type, בוחרים את סוג ה-GPU.
      • למכונות וירטואליות מסוג A4, בוחרים באפשרות NVIDIA B200 180GB
      • למכונות וירטואליות מסוג A3 Ultra, בוחרים באפשרות NVIDIA H200 141GB
    2. ברשימה Number of GPUs בוחרים באפשרות 8.
    3. ברשימה Machine type, בוחרים סוג מכונה.
  5. בוחרים באחת מהאפשרויות הבאות ופועלים לפי השלבים, בהתאם לאפשרות הצריכה שבה רוצים להשתמש.

    הזמנה

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

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

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

    1. בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Reservation-bound.

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

      1. בוחרים את ההזמנה שרוצים להשתמש בה עבור המכונה הווירטואלית. אפשר גם לבחור בלוק ספציפי בהזמנה.
      2. לוחצים על בחירה.

    Flex-start

    1. בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Flex-start.
    2. בשדה Enter number of hours, מזינים את משך הזמן המקסימלי שבו רוצים שהמכונה הווירטואלית תפעל. הערך צריך להיות בין 46 שניות (0.01) לבין שבעה ימים (168, או 168 שעות).

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

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

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

    4. בשדה On VM termination בוחרים אם להפסיק או למחוק את המכונה הווירטואלית בסיום משך ההפעלה שלה:

      • כדי למחוק את המכונה הווירטואלית, לוחצים על מחיקה.
      • כדי לעצור את המכונה הווירטואלית, לוחצים על עצירה.

    Spot

    1. בקטע Provisioning model בוחרים באפשרות Spot מהרשימה VM provisioning model.
    2. אופציונלי: כדי לבחור את פעולת הסיום שתתבצע כש-Compute Engine יבצע preempt למכונה הווירטואלית, מבצעים את השלבים הבאים:

      1. מרחיבים את הקטע VM provisioning model advanced settings (הגדרות מתקדמות של מודל הקצאת מכונות וירטואליות).
      2. ברשימה On VM termination בוחרים באחת מהאפשרויות הבאות:
        • כדי לעצור את מכונת ה-VM במהלך הדחיקה, בוחרים באפשרות Stop (ברירת מחדל).
        • כדי למחוק את המכונה הווירטואלית במהלך ההפסקה לפני הזמן, בוחרים באפשרות מחיקה.
  6. בתפריט הניווט, לוחצים על OS and storage (מערכת הפעלה ואחסון) ומבצעים את השלבים הבאים:

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

    3. אופציונלי: כדי להגדיר את הגודל של דיסק האתחול, אפשר לעיין במגבלות הגודל של Google Cloud Hyperdisk או במגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.

    4. כדי לאשר את האפשרויות של דיסק האתחול, לוחצים על Select.

  7. מגדירים את חשבון השירות ואת היקפי הגישה באופן הבא. עומסי עבודה שפועלים במופע משתמשים בחשבון השירות המצורף כדי לאשר בקשות לשירותים אחרים Google Cloud .

    1. בתפריט הניווט, לוחצים על אבטחה.
    2. ברשימה Service account בוחרים את חשבון השירות שרוצים להשתמש בו.
    3. בקטע Access scopes, בוחרים באפשרות Allow full access to all Cloud APIs. השיטה המומלצת הזו מאפשרת לכם לנהל את הגישה על ידי הוספה או הסרה של תפקידי IAM מחשבון השירות. מידע נוסף זמין במאמר צירוף חשבון שירות למופע.
  8. כדי ליצור מכונה וירטואלית עם כמה כרטיסי NIC, מבצעים את השלבים הבאים. אם יש כרטיס רשת יחיד, מדלגים על השלבים האלה.

    1. בתפריט הניווט, לוחצים על Networking (רשת).

    2. בקטע Network interfaces (ממשקי רשת), מבצעים את הפעולות הבאות:

      1. מוחקים את ממשק הרשת שמוגדר כברירת מחדל. כדי למחוק את הממשק, לוחצים על מחיקה.
      2. לוחצים על הוספת ממשק רשת. משתמשים באפשרות הזו כדי להוסיף ממשקי רשת שמצורפים לרשתות ה-VPC שיצרתם בקטע הקודם. כשמוסיפים את ממשקי הרשת, חשוב לזכור את הדברים הבאים:
        • לממשק רשת שמשמש לתקשורת בין מארחים, בוחרים רשת VPC רגילה ותת-רשת מהרשימות Network ו-Subnetwork, ומגדירים את הרשימה Network interface card ל-gVNIC. לכל רשת, חוץ מהרשת הראשונה, מגדירים את הרשימה כתובת IP חיצונית לערך None.
        • עבור ממשק רשת שמשמש לתקשורת בין GPU ל-GPU, בוחרים את רשת ה-VPC ואת רשת המשנה של RoCE מהרשימות רשת ורשת משנה, ומגדירים את הרשימה כרטיס רשת ל-MRDMA עבור ממשקי הרשת האלה. עבור כל רשת, מגדירים את הרשימה כתובת IP חיצונית לערך None.
  9. כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.

gcloud

כדי ליצור את המכונה הווירטואלית, משתמשים בפקודה gcloud compute instances create.

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

הזמנה

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

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

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

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

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

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

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

    • ‫INSTANCE_NAME: שם ה-VM.
    • ‫MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר מערכות הפעלה נתמכות.
    • ‫IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • ‫ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ואזורי זמינות.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC.
    • ‫RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
    • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
      • כדי ליצור את המופע בכל בלוק:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

      • כדי ליצור את המופע בבלוק ספציפי:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • ‫TERMINATION_ACTION: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את המכונה הווירטואלית בסיום תקופת השמירה.

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

      --resource-policies=POLICY_NAME
    

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

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

Flex-start

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

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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=FLEX_START \
    --request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
    --max-run-duration=MAX_RUN_DURATION \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE

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

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

    • ‫INSTANCE_NAME: שם ה-VM.
    • ‫MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ‫IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר מערכות הפעלה נתמכות.
    • ‫IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • ‫ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ואזורי זמינות.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC.
    • ‫RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
    • ‫REQUEST_VALID_FOR_DURATION: משך הזמן שהבקשה ליצירת המכונה הווירטואלית (VM) נשארת בתוקף. הערך צריך להיות בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריו d, h, m ו-s בהתאמה. לדוגמה, מציינים 30m ל-30 דקות או 1h2m3s לשעה, שתי דקות ושלוש שניות.

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

      • עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את מכונת ה-VM באזור ספציפי, צריך לציין משך זמן בין 90 שניות (90s) לשעתיים (2h). משך זמן ארוך יותר מגדיל את הסיכויים לקבלת משאבים.
      • עומסי עבודה ללא דרישות מחמירות לגבי תחום: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של אפס שניות (0s). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
    • ‫MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להזין את הערך כמספר הימים, השעות, הדקות או השניות, ואחריו את הערכים d, h, m ו-s בהתאמה. הערך צריך להיות בין 10 דקות לשבעה ימים.

    • ‫TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.

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

      --resource-policies=POLICY_NAME
    

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

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

Spot

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

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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

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

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

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

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

      --resource-policies=POLICY_NAME
    

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

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

REST

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

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

הזמנה

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

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

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

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": true
  }
}

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

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

    • ‫PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית.
    • ‫ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ואזורי זמינות.
    • ‫MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ‫INSTANCE_NAME: שם ה-VM.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • ‫IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר מערכות הפעלה נתמכות.
    • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
    • ‫GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC.
    • ‫REGION: האזור של רשת המשנה.
    • ‫RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
    • ‫RESERVATION: שם ההזמנה או בלוק ספציפי בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
      • כדי ליצור את המופע בכל בלוק:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

      • כדי ליצור את המופע בבלוק ספציפי:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • ‫TERMINATION_ACTION: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את המכונה הווירטואלית בסיום תקופת השמירה.

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

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

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

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

Flex-start

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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": "FLEX_START",
    "requestValidForDuration": {
      "seconds": REQUEST_VALID_FOR_DURATION
    },
    "maxRunDuration": {
      "seconds": MAX_RUN_DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
  }
}

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

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

    • ‫PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית.
    • ‫ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ואזורי זמינות.
    • ‫MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ‫INSTANCE_NAME: שם ה-VM.
    • ‫DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • ‫IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • ‫IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר מערכות הפעלה נתמכות.
    • ‫NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
    • ‫GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC.
    • ‫REGION: האזור של רשת המשנה.
    • ‫RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
    • ‫REQUEST_VALID_FOR_DURATION: משך הזמן, בשניות, שבו הבקשה ליצירת המכונה הווירטואלית נשארת בתוקף.

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

      • עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את מכונת ה-VM באזור ספציפי, צריך לציין משך זמן בין 90 שניות (90) לשעתיים (7200). משך זמן ארוך יותר מגדיל את הסיכויים לקבלת משאבים.
      • עומסי עבודה ללא דרישות מחמירות לגבי תחום: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של אפס שניות (0). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
    • ‫MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להגדיר את הערך כמספר השניות. לדוגמה, מציינים 86400 ל-86,400 שניות (24 שעות). הערך צריך להיות בין 10 דקות לשבעה ימים.

    • ‫TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.

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

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

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

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

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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
  }
}

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

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

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

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

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

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

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

התקנת דרייברים של GPU

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

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

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

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