במאמר הזה נסביר איך ליצור בבת אחת מכונות וירטואליות (VM) שמשתמשות בסוגי מכונות שעברו אופטימיזציה למאיצים מסוג A3 High או A3 Mega. מידע נוסף על סוגי המכונות זמין במאמרים A3 High ו-A3 Mega במסמכי העזרה של Compute Engine.
מידע נוסף על יצירת מכונות וירטואליות בכמות גדולה זמין במאמר בנושא יצירת מכונות וירטואליות בכמות גדולה בתיעוד של Compute Engine.
מידע על דרכים נוספות ליצירת מכונות וירטואליות או אשכולות זמין בדף סקירה כללית.
לפני שמתחילים
לפני שיוצרים מכונות וירטואליות בכמות גדולה, אם עדיין לא עשיתם זאת, צריך לבצע את השלבים הבאים:
- בחירת אפשרות צריכה: האפשרות שתבחרו לצריכה תקבע איך תקבלו גישה למשאבי 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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
סקירה כללית
יצירת מספר רב של מופעים באמצעות סוג המכונה a3h או a3m כוללת את השלבים הבאים:
יצירת רשתות VPC
כדי לאפשר תקשורת יעילה בין מכונות וירטואליות של GPU, צריך ליצור רשת ניהול ורשת נתונים אחת או יותר. הרשת לניהול משמשת לגישה חיצונית, למשל SSH, ולרוב התקשורת הכללית ברשת. רשתות הנתונים משמשות לתקשורת עם ביצועים גבוהים בין מעבדי ה-GPU במכונות וירטואליות שונות, למשל לתנועה של Remote Direct Memory Access (RDMA).
ברשתות VPC האלה, מומלץ להגדיר ערך גדול יותר ליחידת השידור המקסימלית (MTU). ערכי MTU גבוהים יותר מגדילים את גודל החבילה ומקטינים את התקורה של כותרת החבילה, וכך מגדילים את קצב העברת הנתונים של המטען הייעודי. מידע נוסף על יצירת רשתות VPC זמין במאמר יצירה ואימות של רשת MTU עם מסגרת ג'מבו.
יצירת רשת ניהול, רשת משנה וכלל לחומת האש
כדי להגדיר את רשת הניהול:
יוצרים את רשת הניהול באמצעות הפקודה
networks create:gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244יוצרים את רשת המשנה לניהול באמצעות הפקודה
networks subnets create:gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --region=REGION \ --range=192.168.0.0/24יוצרים כללים לחומת האש באמצעות הפקודה
firewall-rules create.יוצרים כלל לחומת האש עבור רשת הניהול.
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16יוצרים את כלל חומת האש
tcp:22כדי להגביל את כתובות ה-IP של המקור שיכולות להתחבר למכונה הווירטואלית באמצעות SSH.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=SSH_SOURCE_IP_RANGEיוצרים את כלל חומת האש
icmpשאפשר להשתמש בו כדי לבדוק בעיות בהעברת נתונים ברשת.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=icmp \ --source-ranges=0.0.0.0/0
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_NAME_PREFIX: תחילית השם שתשמש לרשתות ולרשתות המשנה של ה-VPC. -
PROJECT_ID: מזהה הפרויקט. -
REGION: האזור שבו רוצים ליצור את הרשתות. -
SSH_SOURCE_IP_RANGE: טווח כתובות IP בפורמט CIDR. ההגדרה הזו מציינת אילו כתובות IP של מקור יכולות להתחבר למכונה הווירטואלית באמצעות SSH.
יצירת רשתות נתונים, רשתות משנה וכלל לחומת האש
מספר רשתות הנתונים משתנה בהתאם לסוג מכונת ה-GPU שאתם יוצרים.A3 Mega
ל-A3 Mega נדרשות שמונה רשתות נתונים. כדי ליצור שמונה רשתות נתונים, שלכל אחת מהן יש רשתות משנה וכללי חומת אש, משתמשים בפקודה הבאה.
for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
A3 High
ל-A3 High נדרשות ארבע רשתות נתונים. כדי ליצור ארבע רשתות נתונים, שלכל אחת מהן יש רשתות משנה וכללי חומת אש, משתמשים בפקודה הבאה:
for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
אופציונלי: יצירת מדיניות למיקום קומפקטי
אתם יכולים להגדיר את מיקום מכונת ה-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 לפי אזורים ותחומים.
יצירה בכמות גדולה של מכונות וירטואליות (VM) מסוג A3 High או A3 Mega
כדי ליצור מכונות וירטואליות מסוג A3 High או A3 Mega בכמות גדולה, אפשר להשתמש באחת מהשיטות הבאות.
הפקודות הבאות מגדירות גם את היקף הגישה של המופעים. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במופע לגישתcloud-platform ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המופע יכול לגשת. מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש בהיקפים.
gcloud
כדי ליצור מכונה וירטואלית (VM) מסוג A3 High או A3 Mega, משתמשים בפקודה gcloud compute instances bulk create.
A3 Mega
כדי ליצור כמות גדולה של מכונות מסוג a3h או a3m, משתמשים
בפקודה gcloud compute instances bulk create.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
הזמנה בלבד
לפני שמריצים את הפקודה, אפשר להוסיף את הדגל של מדיניות למיקום קומפקטי.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת מכונות A3 Mega, מומלץ מאוד להשתמש בתמונת מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך ולהשבית את העדכונים האוטומטיים, או להשתמש בתמונת Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת ההפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, או להשתמש ב-rocky-linux-accelerator-cloudעבור קובץ האימג' של Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
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) את מכונת a3h או a3m בסוף תקופת שמירת המקום.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
כרטיס Spot
לפני שמריצים את הפקודה, אפשר להוסיף את הדגל של מדיניות למיקום קומפקטי.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת מכונות A3 Mega, מומלץ מאוד להשתמש בתמונת מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך ולהשבית את העדכונים האוטומטיים, או להשתמש בתמונת Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת ההפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, או להשתמש ב-rocky-linux-accelerator-cloudעבור קובץ האימג' של Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
A3 High
כדי ליצור כמות גדולה של מכונות מסוג a3h או a3m, משתמשים
בפקודה gcloud compute instances bulk create.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
הזמנה בלבד
לפני שמריצים את הפקודה, אפשר להוסיף את הדגל של מדיניות למיקום קומפקטי.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת המכונות A3 High, מומלץ מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
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) את מכונת a3h או a3m בסוף תקופת שמירת המקום.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
כרטיס Spot
לפני שמריצים את הפקודה, אפשר להוסיף את הדגל של מדיניות למיקום קומפקטי.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת המכונות A3 High, מומלץ מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
REST
כדי ליצור מכונה וירטואלית מסוג A3 High או A3 Mega, משתמשים ב-method instances.bulkInsert.
A3 Mega
כדי ליצור כמות גדולה של מכונות מסוג a3h או a3m, שולחים בקשת POST אל
ה-method instances.bulkInsert.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
הזמנה בלבד
לפני ששולחים את הבקשה, אפשר להוסיף לגוף הבקשה את שדה המשנה instanceProperties של מדיניות מיקום קומפקטית.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
},
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע a3h או a3m. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שרוצים להשתמש בה עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
VM_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת ההפעלה שמותאמת לקונטיינריםcos-121-ltsואילך, או להשתמש ב-rocky-linux-accelerator-cloudעבור קובץ האימג' של Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת מכונות A3 Mega, מומלץ מאוד להשתמש בתמונת מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך ולהשבית את העדכונים האוטומטיים, או להשתמש בתמונת Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
REGION: האזור של רשת המשנה. -
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) את מכונת a3h או a3m בסוף תקופת שמירת המקום.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה
instancePropertiesהבא לגוף הבקשה:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
כרטיס Spot
לפני ששולחים את הבקשה, אפשר להוסיף לגוף הבקשה את שדה המשנה instanceProperties של מדיניות מיקום קומפקטית.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
},
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע a3h או a3m. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שרוצים להשתמש בה עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
VM_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת ההפעלה שמותאמת לקונטיינריםcos-121-ltsואילך, או להשתמש ב-rocky-linux-accelerator-cloudעבור קובץ האימג' של Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת מכונות A3 Mega, מומלץ מאוד להשתמש בתמונת מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך ולהשבית את העדכונים האוטומטיים, או להשתמש בתמונת Rocky Linux בגרסהrocky-linux-8-optimized-gcp-nvidia-580. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
REGION: האזור של רשת המשנה.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה
instancePropertiesהבא לגוף הבקשה:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
A3 High
כדי ליצור כמות גדולה של מכונות מסוג a3h או a3m, שולחים בקשת POST אל
ה-method instances.bulkInsert.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה למודל ההקצאה של אפשרות הצריכה.
הזמנה בלבד
לפני ששולחים את הבקשה, אפשר להוסיף לגוף הבקשה את שדה המשנה instanceProperties של מדיניות מיקום קומפקטית.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע a3h או a3m. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שרוצים להשתמש בה עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
VM_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת המכונות A3 High, מומלץ מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
REGION: האזור של רשת המשנה. -
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) את מכונת a3h או a3m בסוף תקופת שמירת המקום.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה
instancePropertiesהבא לגוף הבקשה:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
כרטיס Spot
לפני ששולחים את הבקשה, אפשר להוסיף לגוף הבקשה את שדה המשנה instanceProperties של מדיניות מיקום קומפקטית.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
כך עושים את זה:
-
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע a3h או a3m. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם לשימוש במופעי a3h או a3m. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעים של a3h-or-a3m עם שמות כמוinstance-1ו-instance-2, עד למספר המופעים של a3h-or-a3m שצוין על ידי--count. -
COUNT: מספר המופעים מסוג a3h או a3m שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שרוצים להשתמש בה עבור מופע a3h או a3m. מציינים את סוג המכונה A4 או A3 Ultra. מידע נוסף זמין במאמר בנושא סוגי מכונות GPU. -
VM_NAME: שם ה-VM. -
DISK_SIZE: גודל דיסק האתחול ב-GB. -
DISK_TYPE: סוג דיסק האתחול. מומלץ להשתמש ב-hyperdisk-balanced. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. בסדרת המכונות A3 High, מומלץ מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC. -
REGION: האזור של רשת המשנה.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה
instancePropertiesהבא לגוף הבקשה:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- שולחים את הבקשה.
מידע נוסף על אפשרויות ההגדרה כשיוצרים מכונות וירטואליות בכמות גדולה זמין במאמר יצירת מכונות וירטואליות בכמות גדולה במסמכי התיעוד של Compute Engine.
המאמרים הבאים
- אימות השימוש בהזמנה
- איך רואים את הטופולוגיה של מכונת חישוב
- סקירה כללית על הפעלת עומסי עבודה
- פתרון בעיות בשימוש בהזמנה