במאמר הזה מוסבר איך ליצור מכונות מסוג A3 Ultra או A4 עם מעבדים גרפיים מצורפים. מידע נוסף על יצירת מכונות Compute Engine עם מעבדי GPU מצורפים זמין במאמר סקירה כללית על יצירת מכונה עם מעבדי GPU מצורפים.
סדרות המכונות A4 ו-A3 Ultra נועדו לאפשר לכם להריץ אשכולות AI/ML בקנה מידה גדול, עם תכונות כמו מיקום ממוקד של עומסי עבודה, אמצעי בקרה מתקדמים לתחזוקת אשכולות ותזמון עם מודעות לטופולוגיה. מידע נוסף מופיע במאמר סקירה כללית על ניהול אשכולות.
לפני שמתחילים
- כדי לעיין במגבלות ובשלבים נוספים שנדרשים ליצירת מכונות וירטואליות עם כרטיסי GPU מצורפים, כמו בחירת קובץ אימג' של מערכת ההפעלה או בדיקת מכסת ה-GPU, אפשר לעיין במאמר סקירה כללית על יצירת מכונה וירטואלית עם כרטיסי GPU מצורפים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
איך יוצרים מכונות A3 Ultra או A4
כדי לקבוע באילו אפשרויות אתם רוצים להשתמש כדי ליצור מכונות A3 Ultra או A4, בצעו את השלבים הבאים:
בחירת אפשרות צריכה: כדי ללמוד איך לבחור אפשרות צריכה למכונה וירטואלית מסוג A3 Ultra או A4, קראו את המאמר בחירת אפשרות צריכה במסמכי התיעוד של AI Hypercomputer.
השגת קיבולת: כדי ללמוד איך להשיג קיבולת למכונות A3 Ultra או A4 בהתאם לאפשרות הצריכה שבחרתם, קראו את סקירת הקיבולת במסמכי התיעוד של AI Hypercomputer.
בחירת הוראות ליצירה: כדי לקבל מידע על כל האפשרויות שבהן אפשר להשתמש כדי ליצור מכונות A3 Ultra או A4, כמו קבוצות של מכונות מנוהלות (MIG) או אשכולות, אפשר לעיין בסקירה כללית על יצירת מכונות וירטואליות ואשכולות במסמכי התיעוד של AI Hypercomputer.
אם אתם רוצים להשתמש בתכונות לניהול אשכולות של A3 Ultra או A4, או אם אתם לא רוצים ליצור מופעים עצמאיים, אתם יכולים לבחור באפשרות יצירה במסמכי התיעוד של AI Hypercomputer.
יצירת מכונת A3 Ultra או A4
כדי ליצור מופע A3 Ultra או A4, מבצעים את השלבים הבאים:
יצירת רשתות VPC
כדי להגדיר את הרשת לסוגי מכונות A4 או A3 Ultra, צריך ליצור שלוש רשתות VPC לממשקי הרשת הבאים:
- 2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין מארחים.
- רשת VPC אחת עם פרופיל הרשת RoCE לכרטיסי הרשת CX-7. רשת ה-VPC של RoCE למכונות וירטואליות צריכה לכלול 8 תת-רשתות, תת-רשת אחת לכל כרטיס רשת CX-7. כרטיסי הרשת האלה משתמשים ב-RDMA over Converged Ethernet (RoCE), שמספק תקשורת ברוחב פס גבוה וזמן אחזור קצר, שחיונית לתקשורת בין יחידות GPU.
מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.
אפשר ליצור את הרשתות באופן ידני לפי ההוראות במדריכים, או באופן אוטומטי באמצעות הסקריפט שסופק.
מדריכי הוראות
כדי ליצור את הרשתות, אפשר להשתמש בהוראות הבאות:
- כדי ליצור רשתות VPC רגילות לממשקי הרשת של gVNIC, אפשר לעיין במאמר בנושא יצירה וניהול של רשתות ענן וירטואלי פרטי.
- כדי ליצור את רשת ה-VPC של RoCE למכונות וירטואליות (
roce), אפשר לעיין במאמר בנושא יצירת רשת של ענן וירטואלי פרטי (VPC) לכרטיסי NIC של 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 למכונות וירטואליות (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 .
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
מחליפים את מה שכתוב בשדות הבאים:
יצירת מדיניות למיקום קומפקטי
כדי למקם את מכונות A4 או A3 Ultra בבלוקים בודדים או סמוכים, אתם יכולים לציין את מיקום המכונה על ידי יצירה והחלה של מדיניות למיקום קומפקטי על המכונות. כדי למקם את המכונות בבלוק ספציפי, דלגו על השלב הזה וציינו את שם הבלוק כשאתם יוצרים מכונות.
במאמר יצירת מדיניות למיקום קומפקטי מוסבר איך ליצור מדיניות למיקום קומפקטי עם ערך מרחק מקסימלי של 3 (כדי למקם מכונות בבלוקים סמוכים) או 2 (כדי למקם מכונות בבלוק אחד).
יצירת המכונה
כדי ליצור מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים ב-CLI של gcloud או ב-API בארכיטקטורת REST. אם לא, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Create an instance במסוף Google Cloud .
בחלונית Machine configuration (הגדרות המכונה), מבצעים את הפעולות הבאות:
מציינים שם למכונה. מוסכמה למתן שמות למשאבים
בוחרים את האזור והתחום שבהם שריינתם קיבולת.
לוחצים על הכרטיסייה GPUs ומבצעים את השלבים הבאים:
ברשימה GPU type, בוחרים את סוג ה-GPU.
למופעי A4, בוחרים באפשרות NVIDIA B200.
במקרים של מכונות וירטואליות מסוג A3 Ultra, בוחרים באפשרות NVIDIA H200 141GB.
ברשימה Number of GPUs בוחרים באפשרות 8.
בתפריט הניווט, לוחצים על מערכת הפעלה ואחסון. בחלונית OS and storage שמופיעה, מבצעים את הפעולות הבאות:
לוחצים על Change. מופיעה החלונית תצורת דיסק אתחול.
בכרטיסייה תמונות ציבוריות, בוחרים תמונה מומלצת. רשימה של תמונות מומלצות מופיעה במאמר בנושא מערכות הפעלה.
כדי לאשר את האפשרויות של דיסק האתחול, לוחצים על Select.
כדי ליצור מכונה עם כמה כרטיסי NIC, מבצעים את השלבים הבאים. אם מדובר במופע עם כרטיס רשת יחיד, מדלגים על השלבים האלה.
בתפריט הניווט, לוחצים על Networking (רשת). בחלונית Networking שמופיעה, מבצעים את הפעולות הבאות:
בקטע Network interfaces, מבצעים את הפעולות הבאות:
מוחקים את ממשק הרשת שמוגדר כברירת מחדל. כדי למחוק את הממשק, לוחצים על מחיקה.
לוחצים על הוספת ממשק רשת. משתמשים באפשרות הזו כדי להוסיף ממשקי רשת שמצורפים לרשתות ה-VPC שיצרתם בקטע הקודם. כשמוסיפים את ממשקי הרשת, חשוב לזכור את הדברים הבאים:
לממשק רשת שמשמש לתקשורת בין מארחים, בוחרים רשת VPC רגילה ותת-רשת מהרשימות Network ו-Subnetwork, ומגדירים את הרשימה Network interface card ל-gVNIC.
לממשק רשת שמשמש לתקשורת בין GPU ל-GPU, בוחרים את רשת VPC והרשת המשנה של RoCE מהרשימות Network ו-Subnetwork, ומגדירים את הרשימה כרטיס רשת ל-MRDMA לממשקי הרשת האלה.
בתפריט הניווט, לוחצים על מתקדם. לאחר מכן, מבצעים את השלבים הבאים בהתאם למודל הקצאת ההרשאות שרוצים להשתמש בו.
Flex-start
- בקטע Provisioning model, ברשימה VM provisioning model, בוחרים באפשרות Flex-start.
בשדה Enter number of hours, מזינים את משך הזמן המקסימלי שבו רוצים שהמכונה הווירטואלית תפעל. הערך צריך להיות בין
0.01(0.01 שעות, או 36 שניות) לבין168(168 שעות, או שבעה ימים).בוחרים באפשרות הגדרת זמן המתנה ליצירת מכונה וירטואלית.
בהתאם לדרישות של עומס העבודה באזור, ציינו אחד ממשכי הזמן הבאים כדי להגדיל את הסיכויים שהבקשה ליצירת VM תצליח:
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את המכונה הווירטואלית באזור ספציפי, צריך לציין משך זמן של 90 שניות עד שעתיים. משך זמן ארוך יותר מגדיל את הסיכוי להשיג משאבים.
- עומסי עבודה ללא דרישות מחמירות לגבי תחום הזמינות: אם המכונה הווירטואלית יכולה לפעול בכל תחום באזור, צריך לציין משך של 0 שניות או לבטל את הסימון בתיבת הסימון הגדרת זמן המתנה ליצירת מכונה וירטואלית. הפעולה הזו מציינת ש-Compute Engine יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, נסו לשלוח את הבקשה שוב באזור אחר.
בשדה On VM termination בוחרים אם להפסיק או למחוק את המכונה הווירטואלית בסיום משך ההפעלה שלה:
- כדי למחוק את המכונה הווירטואלית, לוחצים על מחיקה.
- כדי לעצור את המכונה הווירטואלית, לוחצים על Stop.
נדרשת הזמנה
לוחצים על בחירת הזמנה. הפעולה הזו פותחת חלונית עם רשימה של הזמנות זמינות באזור שבחרתם. ברשימת ההזמנות, פועלים לפי השלבים הבאים:
- בוחרים את ההזמנה שרוצים להשתמש בה עבור המכונה הווירטואלית. אפשר גם לבחור בלוק ספציפי בהזמנה.
- לוחצים על בחירה.
Spot
- בקטע Provisioning model בוחרים באפשרות Spot מהרשימה VM provisioning model.
אופציונלי: כדי לבחור את פעולת הסיום שמתרחשת כש-Compute Engine מפקיע את ה-VM, מבצעים את השלבים הבאים:
- מרחיבים את הקטע VM provisioning model advanced settings (הגדרות מתקדמות של מודל הקצאת משאבים למכונה וירטואלית).
- ברשימה On VM termination בוחרים באחת מהאפשרויות הבאות:
- כדי לעצור את ה-VM במהלך ההפקעה, בוחרים באפשרות Stop (ברירת המחדל).
- כדי למחוק את המכונה הווירטואלית במהלך ההפסקה לפני הזמן, בוחרים באפשרות מחיקה.
כדי ליצור את המכונה ולהפעיל אותה, לוחצים על 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
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם המכונה הווירטואלית. -
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) בסיום תקופת שמירת המקום.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
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
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם המכונה הווירטואלית. -
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 יקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, צריך לנסות שוב את הבקשה באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את מכונת ה-VM באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להגדיר את הערך כמספר הימים, השעות, הדקות או השניות, ואחריוd,h,mו-sבהתאמה. הערך צריך להיות בין 10 דקות לשבעה ימים.
TERMINATION_ACTION: אם Compute Engine עוצר (STOP) או מוחק (DELETE) את ה-VM בסוף משך ההפעלה.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--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: שם המכונה הווירטואלית. -
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.
-
-
אופציונלי: כדי להשתמש במדיניות למיקום קומפקטי, מוסיפים את הדגל הבא:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
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
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
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) את המכונה הווירטואלית בסיום תקופת השמירה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
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",
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
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). משך זמן ארוך יותר מגדיל את הסיכויים לקבלת משאבים. - עומסי עבודה בלי דרישות מחמירות לגבי אזורים: אם אפשר להריץ את ה-VM בכל אזור, מציינים משך זמן של אפס שניות (
0). הפעולה הזו מציינת ש-Compute Engine מקצה משאבים רק אם הם זמינים באופן מיידי. אם הבקשה ליצירת מכונה וירטואלית נכשלת כי המשאבים לא זמינים, נסו לשלוח את הבקשה שוב באזור אחר.
- עומסי עבודה עם דרישות אזוריות מחמירות: אם עומס העבודה מחייב אתכם ליצור את מכונת ה-VM באזור ספציפי, צריך לציין משך זמן בין 90 שניות (
MAX_RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. צריך להגדיר את הערך כמספר השניות. לדוגמה, מציינים86400ל-86,400 שניות (24 שעות). הערך צריך להיות בין 10 דקות ל-7 ימים.
TERMINATION_ACTION: אם Compute Engine עוצר (STOP) או מוחק (DELETE) את ה-VM בסוף משך ההפעלה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"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 במאמרי העזרה של 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.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את השדה הבא לגוף הבקשה:
"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
הכנת המכונה לשימוש
כדי להכין לשימוש מופע שמצורפים אליו כרטיסי GPU, מבצעים את השלבים הבאים:
מכונות A4 ו-A3 Ultra דורשות דרייברים של GPU. אם קובץ האימג' של מערכת ההפעלה שמשמש את המכונה לא כולל מנהלי התקנים של GPU, צריך להתקין אותם.
אם יצרתם מכונה וירטואלית (VM) במודל Spot בקטע הקודם, בצעו את הפעולות הבאות:
במאמר ניהול הפסקה זמנית של VM במודל Spot מוסבר איך להכין את ה-VM במודל Spot להפסקה זמנית פוטנציאלית.
אופציונלי: מידע ולמידה על שיטות מומלצות לשימוש ב-VM במודל Spot
המאמרים הבאים
כדי לעקוב אחרי ביצועי ה-GPU, אפשר לעיין במאמר בנושא מעקב אחרי ביצועי ה-GPU.
כדי לפתור בעיות במכונות וירטואליות עם GPU, אפשר לעיין במאמר בנושא פתרון בעיות במכונות וירטואליות עם GPU.