במאמר הזה מתוארים השלבים ליצירת מכונות וירטואליות (VM) עצמאיות שמשתמשות בסוגי מכונות A4 או A3 Ultra. מידע נוסף על סוגי המכונות האלה שעברו אופטימיזציה לשימוש במאיצים זמין במאמרים בנושא A4 או A3 Ultra.
למידע על דרכים אחרות ליצירת מכונות וירטואליות או אשכולות, ראו סקירה כללית על אפשרויות הפריסה.
מגבלות
כשיוצרים מכונה וירטואלית עצמאית מסוג A4 או A3 Ultra, חלות המגבלות הבאות:
A4
- לא מקבלים הנחות על שימוש קבוע והנחות גמישות תמורת התחייבות לשימוש על מקרים לדוגמה שבהם נעשה שימוש בסוג מכונה A4.
- אפשר להשתמש בסוג מכונה A4 רק באזורים ותחומים מסוימים.
- אי אפשר להשתמש בדיסקים לאחסון מתמיד (persistent disks) (אזוריים או של תחום מוגדר). אפשר להשתמש רק ב-Google Cloud Hyperdisk.
- סוג המכונה A4 זמין רק בפלטפורמת המעבד Emerald Rapids.
- אי אפשר לשנות את סוג המכונה של מופע לסוג מכונה A4 או מסוג מכונה A4. צריך ליצור מכונה חדשה עם סוג המכונה הזה.
- סוגי מכונות A4 לא תומכים בדיירות בלעדית.
- אי אפשר להריץ מערכות הפעלה של Windows בסוג מכונה A4.
- במקרים של מופעי A4, כשמשתמשים ב-
ethtool -Sכדי לעקוב אחרי רשתות GPU, מוני יציאות פיזיות שמסתיימים ב-_phyלא מתעדכנים. זו התנהגות צפויה במקרים שבהם נעשה שימוש בארכיטקטורה של פונקציה וירטואלית (VF) של MRDMA. מידע נוסף זמין במאמר פונקציות MRDMA וכלים לניטור רשת. - אי אפשר לצרף דיסקים של Hyperdisk ML שנוצרו לפני 4 בפברואר 2026 לסוגי מכונות A4.
A3 Ultra
- לא תקבלו הנחות על שימוש קבוע והנחות גמישות תמורת התחייבות לשימוש על מכונות וירטואליות מסוג A3 Ultra.
- אפשר להשתמש בסוג המכונה A3 Ultra רק באזורים ותחומים מסוימים.
- אי אפשר להשתמש בדיסקים לאחסון מתמיד (persistent disks) (אזוריים או של תחום מוגדר). אפשר להשתמש רק ב-Google Cloud Hyperdisk.
- סוג המכונה A3 Ultra זמין רק בפלטפורמת המעבד Emerald Rapids.
- אין תמיכה בשינויים בסוג המכונה עבור סוג המכונה A3 Ultra. כדי לעבור למכונה מהסוג הזה או ממנה, צריך ליצור מופע חדש.
- אי אפשר להריץ מערכות הפעלה של Windows בסוג מכונה A3 Ultra.
- סוגי המכונות A3 Ultra לא תומכים בדיירות בלעדית.
- במקרים של מופעי A3 Ultra, כשמשתמשים ב-
ethtool -Sכדי לעקוב אחרי רשתות GPU, מוני יציאות פיזיות שמסתיימים ב-_phyלא מתעדכנים. זו התנהגות צפויה במקרים שבהם נעשה שימוש בארכיטקטורת MRDMA Virtual Function (VF). מידע נוסף זמין במאמר פונקציות MRDMA וכלים לניטור רשת.
לפני שמתחילים
לפני שיוצרים מכונות וירטואליות, אם עדיין לא עשיתם זאת, צריך לבצע את השלבים הבאים:
- בחירת אפשרות צריכה: האפשרות שתבחרו לצריכה תקבע איך תקבלו גישה למשאבי GPU ואיך תשתמשו בהם. מידע נוסף זמין במאמר בנושא בחירת אפשרות צריכה.
- קבלת קיבולת: התהליך לקבלת קיבולת שונה לכל אפשרות צריכה. כדי לקבל מידע על התהליך להשגת קיבולת לאפשרות הצריכה שבחרתם, אפשר לעיין במאמר סקירה כללית על קיבולת.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-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 כוללת את השלבים הבאים:
יצירת רשתות VPC
כדי להגדיר את הרשת לסוגי מכונות A4 או A3 Ultra, צריך ליצור שלוש רשתות VPC לממשקי הרשת הבאים:
- 2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. הם משמשים לתקשורת בין מארחים.
- רשת VPC אחת עם פרופיל רשת RoCE עבור כרטיסי ה-NIC של CX-7. ברשת ה-VPC של RoCE צריכות להיות 8 רשתות משנה, רשת משנה אחת לכל כרטיס רשת CX-7. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet (RoCE), שמספק תקשורת עם רוחב פס גבוה וזמן אחזור נמוך, שחיונית לתקשורת בין יחידות GPU.
מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.
אפשר ליצור את הרשתות באופן ידני לפי מדריכי ההוראות, או באופן אוטומטי באמצעות הסקריפט שסופק.
מדריכים להוראות
כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:
- כדי ליצור רשתות VPC רגילות עבור gVNIC, אפשר לעיין במאמר בנושא יצירה וניהול של רשתות ענן וירטואלי פרטי.
- כדי ליצור את רשת ה-VPC של RoCE, אפשר לעיין במאמר בנושא יצירת רשת של ענן וירטואלי פרטי (VPC) עבור כרטיסי רשת של RDMA.
ברשתות VPC האלה, מומלץ להגדיר ערך גדול יותר ליחידת השידור המקסימלית (MTU).
עבור סוגי מכונות A4 או A3 Ultra, ה-MTU המומלץ הוא 8896 בייט.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.
Script
כדי ליצור את הרשתות, פועלים לפי השלבים הבאים.
ברשתות VPC האלה, מומלץ להגדיר ערך גדול יותר ליחידת השידור המקסימלית (MTU).
עבור סוגי מכונות A4 או A3 Ultra, ה-MTU המומלץ הוא 8896 בייט.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.
משתמשים בסקריפט הבא כדי ליצור רשתות 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מחליפים את מה שכתוב בשדות הבאים:
-
GVNIC_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשתות ולתת-רשתות רגילות של VPC עבור gVNIC. -
RDMA_NAME_PREFIX: תחילית השם המותאמת אישית שבה רוצים להשתמש עבור רשת ה-VPC ותת-הרשתות של RoCE עבור כרטיסי ה-NIC של CX-7. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין, למשלus-central1-a. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה צריך להתאים לאזור שצוין. לדוגמה, אם האזור הואus-central1-a, האזור הואus-central1. -
IP_RANGE: טווח כתובות ה-IP שבו ייעשה שימוש עבור כללי חומת האש של SSH.
-
- אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
- נכנסים לדף VPC networks במסוף Google Cloud .
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
אופציונלי: יצירת מדיניות למיקום קומפקטי
אתם יכולים להגדיר את מיקום מכונת ה-VM על ידי יצירת מדיניות למיקום קומפקטי. כשמחילים מדיניות מיקום קומפקטית על מכונות וירטואליות, מערכת Compute Engine מנסה ככל האפשר ליצור מכונות וירטואליות שקרובות זו לזו. אם האפליקציה שלכם רגישה לזמן אחזור ונדרשת בה דחיסה מקסימלית, אתם צריכים לציין את השדה maxDistance (תצוגה מקדימה) כשאתם יוצרים מדיניות למיקום קומפקטי. ערך נמוך יותר של maxDistance מבטיח מיקום קרוב יותר של מכונות וירטואליות, אבל גם מגדיל את הסיכוי שחלק מהמכונות הווירטואליות לא ייווצרו.
gcloud
כדי ליצור מדיניות למיקום קומפקטי, משתמשים
בפקודה gcloud beta compute resource-policies create group-placement:
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי. -
MAX_DISTANCE: הגדרת המרחק המקסימלי של המכונות הווירטואליות. הערך צריך להיות3כדי למקם מכונות וירטואליות בבלוקים סמוכים, או2כדי למקם מכונות וירטואליות באותו בלוק. מידע על המספר המקסימלי של מכונות וירטואליות שנתמכות בכלmaxDistanceלכל סדרת מכונות זמין במאמר מידע על מדיניות מיקום קומפקטי במסמכי Compute Engine. -
REGION: האזור שבו רוצים ליצור את מדיניות המיקום הקומפקטי. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
REST
כדי ליצור מדיניות מיקום קומפקטית, שולחים בקשת POST אל ה-method resourcePolicies.insert בגרסת הבטא.
בגוף הבקשה, כוללים את השדה collocation שמוגדר ל-COLLOCATED, ואת השדה maxDistance.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי. -
MAX_DISTANCE: הגדרת המרחק המקסימלי של המכונות הווירטואליות. הערך צריך להיות3כדי למקם מכונות וירטואליות בבלוקים סמוכים, או2כדי למקם מכונות וירטואליות באותו בלוק. מידע על המספר המקסימלי של מכונות וירטואליות שנתמכות בכלmaxDistanceלכל סדרת מכונות זמין במאמר מידע על מדיניות מיקום קומפקטי במסמכי Compute Engine. -
REGION: האזור שבו רוצים ליצור את מדיניות המיקום הקומפקטי. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
יצירת מכונת A4 או A3 Ultra
כדי ליצור מכונה וירטואלית מסוג A4 או A3 Ultra עם מדיניות למיקום קומפקטי, צריך להשתמש ב-CLI של Google Cloud או ב-API בארכיטקטורת REST. אחרת, בוחרים באחת מהאפשרויות הבאות:
הפקודות הבאות מגדירות גם את היקף הגישה של המופעים. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במופע לגישתcloud-platform ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המופע יכול לגשת. מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש בהיקפים.
המסוף
נכנסים לדף Create an instance במסוף Google Cloud .
מציינים שם למכונה הווירטואלית. מוסכמות למתן שמות למשאבים
בשדות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין קיבולת. כאן אפשר לראות את רשימת האזורים והאזורים הזמינים של GPU.
לוחצים על הכרטיסייה GPUs ומבצעים את השלבים הבאים:
- ברשימה סוג ה-GPU, בוחרים את סוג ה-GPU.
- למכונות וירטואליות מסוג A4, בוחרים באפשרות
NVIDIA B200 180GB - למכונות וירטואליות מסוג A3 Ultra, בוחרים באפשרות
NVIDIA H200 141GB
- למכונות וירטואליות מסוג A4, בוחרים באפשרות
- ברשימה Number of GPUs בוחרים באפשרות
8.
- ברשימה סוג ה-GPU, בוחרים את סוג ה-GPU.
פועלים לפי השלבים הבאים בהתאם למודל הקצאת ההרשאות שבו רוצים להשתמש.
Flex-start
- בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Flex-start.
בשדה Enter number of hours מזינים את משך הזמן המקסימלי שבו רוצים שהמכונה הווירטואלית תפעל. הערך צריך להיות בין 46 שניות (
0.01) לבין שבעה ימים (168, או 168 שעות).בוחרים באפשרות הגדרת זמן המתנה ליצירת מכונה וירטואלית.
בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן בין 90 שניות לבין שעתיים. ככל שהמשך ארוך יותר, כך גדל הסיכוי להשיג משאבים.
- עומסי עבודה ללא דרישות מחמירות לגבי תחום הזמינות: אם המכונה הווירטואלית יכולה לפעול בכל תחום זמינות באזור, צריך לציין משך של 0 שניות או לבטל את הסימון של התיבה הגדרת זמן המתנה ליצירת מכונה וירטואלית. הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
בשדה On VM termination, בוחרים אם להפסיק או למחוק את המכונה הווירטואלית בסיום משך ההפעלה שלה:
- כדי למחוק את מכונת ה-VM, בוחרים באפשרות מחיקה.
- כדי לעצור את המכונה הווירטואלית, בוחרים באפשרות עצירה.
הזמנה בלבד
בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Reservation-bound.
בתפריט הניווט, לוחצים על מתקדם. לאחר מכן, בקטע Reservations, לוחצים על Choose a reservation. הפעולה הזו פותחת חלונית עם רשימה של הזמנות זמינות באזור שנבחר. כך עושים את זה מרשימת ההזמנות:
- בוחרים את ההזמנה שרוצים להשתמש בה עבור המכונה הווירטואלית. אפשר גם לבחור בלוק ספציפי בהזמנה.
- לוחצים על בחירה.
כרטיס Spot
- בקטע Provisioning model בוחרים באפשרות Spot מהרשימה VM provisioning model.
אופציונלי: כדי לבחור את פעולת הסיום שמתבצעת כש-Compute Engine מבצעת דחיקה של מכונת ה-VM, מבצעים את השלבים הבאים:
- מרחיבים את הקטע VM provisioning model advanced settings.
- ברשימה On VM termination בוחרים באחת מהאפשרויות הבאות:
- כדי לעצור את המכונה הווירטואלית במהלך הפסקת הפעולה לפני הזמן, בוחרים באפשרות Stop (ברירת מחדל).
- כדי למחוק את המכונה הווירטואלית במהלך ההפסקה לפני הזמן, בוחרים באפשרות מחיקה.
בתפריט הניווט, לוחצים על OS and storage (מערכת הפעלה ואחסון) ומבצעים את השלבים הבאים:
- לוחצים על Change. נפתחת החלונית תצורת דיסק אתחול.
- בכרטיסייה תמונות ציבוריות, בוחרים תמונה מומלצת. רשימה של תמונות מומלצות זמינה במאמר בנושא מערכות הפעלה.
- כדי לאשר את האפשרויות של דיסק האתחול, לוחצים על בחירה.
מגדירים את חשבון השירות ואת היקפי הגישה באופן הבא. עומסי עבודה שפועלים במופע משתמשים בחשבון השירות המצורף כדי לאשר בקשות לשירותים אחרים Google Cloud .
- בתפריט הניווט, לוחצים על אבטחה.
- ברשימה Service account בוחרים את חשבון השירות שרוצים להשתמש בו.
- בקטע Access scopes (היקפי גישה), בוחרים באפשרות Allow full access to all Cloud APIs (מתן גישה מלאה לכל ממשקי ה-API של Cloud). השיטה המומלצת הזו מאפשרת לכם לנהל את הגישה על ידי הוספה או הסרה של תפקידי IAM מחשבון השירות. מידע נוסף זמין במאמר צירוף חשבון שירות למופע.
כדי ליצור מכונה וירטואלית עם כמה כרטיסי NIC, מבצעים את השלבים הבאים. אם יש כרטיס רשת יחיד, מדלגים על השלבים האלה.
בתפריט הניווט, לוחצים על Networking (רשת).
בקטע Network interfaces (ממשקי רשת), מבצעים את הפעולות הבאות:
- מחיקת ממשק הרשת שמוגדר כברירת מחדל. כדי למחוק את הממשק, לוחצים על מחיקה.
- לוחצים על הוספת ממשק רשת. משתמשים באפשרות הזו כדי להוסיף ממשקי רשת שמצורפים לרשתות ה-VPC שיצרתם בקטע הקודם. כשמוסיפים את ממשקי הרשת, חשוב לזכור את הנקודות הבאות:
- לממשק רשת שמשמש לתקשורת בין מארחים, בוחרים רשת VPC רגילה ותת-רשת מהרשימות Network ו-Subnetwork, ומגדירים את הרשימה Network interface card ל-gVNIC.
- עבור ממשק רשת שמשמש לתקשורת בין GPU ל-GPU, בוחרים את רשת ה-VPC ואת רשת המשנה של RoCE מהרשימות Network (רשת) ו-Subnetwork (רשת משנה), ומגדירים את הרשימה Network interface card (כרטיס רשת) ל-MRDMA עבור ממשקי הרשת האלה.
כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.
gcloud
כדי ליצור את המכונה הווירטואלית, משתמשים
בפקודה gcloud compute instances create.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
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 \
--reservation-affinity=none \
--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
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות זמינה במאמר פרטים על מערכות הפעלה. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
REQUEST_VALID_FOR_DURATION: משך הזמן שהבקשה ליצירת המכונה הווירטואלית (VM) נשארת בתוקף. הערך צריך להיות בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריוd,h,mו-sבהתאמה. לדוגמה, מציינים30mל-30 דקות או1h2m3sלשעה, שתי דקות ושלוש שניות.בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור מסוים, צריך לציין משך זמן בין 90 שניות (
90s) לשעתיים (2h). משך זמן ארוך יותר מגדיל את הסיכויים לקבלת משאבים. - עומסי עבודה ללא דרישות אזוריות מחמירות: אם המכונה הווירטואלית יכולה לפעול בכל אזור בתוך האזור, צריך לציין משך של אפס שניות (
0s). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור מסוים, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להזין את הערך בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריו את הערכיםd,h,mו-sבהתאמה. הערך צריך להיות בין 10 דקות לשבעה ימים.
TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
הזמנה בלבד
לפני שמריצים את הפקודה, אפשר להוסיף את הדגל של מדיניות למיקום קומפקטי.
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
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות זמינה במאמר פרטים על מערכות הפעלה. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
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) את המכונה הווירטואלית בסיום תקופת השמירה.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
כרטיס 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
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם ה-VM. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות זמינה במאמר פרטים על מערכות הפעלה. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. כדי לציין מדיניות למיקום קומפקטי, משתמשים באזור באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
REST
כדי ליצור את המכונה הווירטואלית, שולחים בקשת POST אל
ה-method instances.insert.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
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"
}
],
"reservationAffinity":{
"consumeReservationType": "NO_RESERVATION",
},
"scheduling":{
"provisioningModel": "FLEX_START",
"requestValidForDuration": {
"seconds": REQUEST_VALID_FOR_DURATION
},
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
},
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות זמינה במאמר פרטים על מערכות הפעלה. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות ב-gVNIC. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
REQUEST_VALID_FOR_DURATION: משך הזמן, בשניות, שבו הבקשה ליצירת המכונה הווירטואלית נשארת בתוקף.בהתאם לדרישות האזוריות של עומס העבודה, מציינים את אחד משני משכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת מכונה וירטואלית תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור מסוים, צריך לציין משך זמן בין 90 שניות (
90) לשעתיים (7200). משך זמן ארוך יותר מגדיל את הסיכויים לקבלת משאבים. - עומסי עבודה ללא דרישות מחמירות לגבי תחום: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של אפס שניות (
0). הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור מסוים, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. אתם צריכים לעצב את הערך כמספר השניות. לדוגמה, מציינים86400ל-86,400 שניות (24 שעות). הערך צריך להיות בין 10 דקות לשבעה ימים.
TERMINATION_ACTION: מציין אם Compute Engine מפסיק (STOP) או מוחק (DELETE) את המכונה הווירטואלית בסוף משך ההפעלה שלה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, צריך להוסיף את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
הזמנה בלבד
לפני ששולחים את הבקשה, אפשר להוסיף לגוף הבקשה את השדה של מדיניות מיקום קומפקטית.
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
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
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) את המכונה הווירטואלית בסיום תקופת השמירה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, צריך להוסיף את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
כרטיס 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
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו זמין סוג המכונה שרוצים להשתמש בו. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה הווירטואלית. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
INSTANCE_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
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.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, צריך להוסיף את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
המאמרים הבאים
- אימות השימוש בהזמנה
- איך רואים את הטופולוגיה של מכונת חישוב
- סקירה כללית על הפעלת עומסי עבודה
- פתרון בעיות בשימוש בהזמנה