במאמר הזה נסביר איך ליצור מכונות וירטואליות (VM) בכמות גדולה, שמשתמשות בסוגי מכונות שעברו אופטימיזציה למאיץ A3 Edge. למידע נוסף על סוג המכונה, אפשר לעיין במאמר A3 Edge במסמכי התיעוד של 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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
סקירה כללית
יצירת מופעים בכמות גדולה באמצעות סוג המכונה A3 Edge כוללת את השלבים הבאים:
- יצירת רשתות VPC
- אופציונלי: יצירת מדיניות למיקום קומפקטי
- יצירת מכונות בכמות גדולה
- התקנת דרייברים של GPU
יצירת רשתות 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.
יצירת רשתות נתונים, רשתות משנה וכלל לחומת האש
ב-A3 Edge נדרשות ארבע רשתות נתונים. כדי ליצור ארבע רשתות נתונים, שלכל אחת מהן יש רשתות משנה וכללי חומת אש, משתמשים בפקודה הבאה.
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: הגדרת המרחק המקסימלי למכונות ה-VM. אפשר לציין את המרחק (תצוגה מקדימה, מומלץ) או לא לציין אותו (מסירים את הדגל--max-distance). בהתאם למה שסוג המכונה תומך בו, אפשר לציין אחד מהערכים הבאים:- כדי למקם מכונות וירטואליות באותו תת-בלוק:
1 - כדי למקם מכונות וירטואליות באותו בלוק:
2 - כדי למקם מכונות וירטואליות בבלוקים סמוכים:
3
- כדי למקם מכונות וירטואליות באותו תת-בלוק:
-
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: הגדרת המרחק המקסימלי למכונות ה-VM. אפשר לציין את המרחק (בגרסת Preview, מומלץ) או לא לציין אותו (מסירים את השדהmaxDistance). בהתאם למה שסוג המכונה תומך בו, אפשר לציין אחד מהערכים הבאים:- כדי למקם מכונות וירטואליות באותו תת-בלוק:
1 - כדי למקם מכונות וירטואליות באותו בלוק:
2 - כדי למקם מכונות וירטואליות בבלוקים סמוכים:
3
- כדי למקם מכונות וירטואליות באותו תת-בלוק:
-
REGION: האזור שבו רוצים ליצור את מדיניות המיקום הקומפקטי. מציינים את האזור שמכיל את התחום שבו מתכננים ליצור מכונות, ומוודאים שסוג המכונה שרוצים להשתמש בו זמין באזור הזה. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
יצירת מכונות וירטואליות מסוג A3 Edge בכמות גדולה
כדי ליצור מכונות וירטואליות (VM) מסוג A3 Edge בכמות גדולה, משתמשים באחת מהשיטות הבאות.
הפקודות הבאות מגדירות גם את היקף הגישה של המופעים. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במופע לגישתcloud-platform ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המופע יכול לגשת. מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש בהיקפים.
gcloud
כדי ליצור מכונת A3 Edge, משתמשים בפקודה gcloud compute instances bulk create.
כדי ליצור כמות גדולה של מכונות, משתמשים ב
פקודה 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: תבנית השם שתשמש למכונות A3 Edge. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעי A3 Edge עם שמות כמוinstance-1ו-instance-2, עד למספר מופעי A3 Edge שצוין על ידי--count. -
COUNT: מספר המופעים של A3 Edge שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
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) את מכונת A3 Edge בסוף תקופת השמירה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--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: תבנית השם שתשמש למכונות A3 Edge. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעי A3 Edge עם שמות כמוinstance-1ו-instance-2, עד למספר מופעי A3 Edge שצוין על ידי--count. -
COUNT: מספר המופעים של A3 Edge שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך, ולהשבית את העדכונים האוטומטיים. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
GVNIC_NAME_PREFIX: תחילית השם שציינתם כש יצרתם את רשתות ה-VPC ותת-הרשתות הרגילות שמשתמשות בכרטיסי gVNIC NIC.
TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הןSTOP(ברירת מחדל) אוDELETE.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את הדגל הבא לפקודה:
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
-
- מריצים את הפקודה.
REST
כדי ליצור מכונות וירטואליות מסוג A3 Edge, משתמשים ב-method instances.bulkInsert.
כדי ליצור כמה מכונות בבת אחת, שולחים בקשת POST אל
ה-method instances.bulkInsert.
הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.
הזמנה
לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.
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: מזהה הפרויקט שבו רוצים ליצור את מכונת A3 Edge. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם שתשמש למכונות A3 Edge. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעי A3 Edge עם שמות כמוinstance-1ו-instance-2, עד למספר מופעי A3 Edge שצוין על ידי--count. -
COUNT: מספר המופעים של A3 Edge שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה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) את מכונת A3 Edge בסוף תקופת השמירה.
-
-
אופציונלי: אם בחרתם להשתמש במדיניות מיקום קומפקטית, מוסיפים את שדה המשנה
instancePropertiesהבא לגוף הבקשה:"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/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: מזהה הפרויקט שבו רוצים ליצור את מכונת A3 Edge. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. אם רוצים לציין מדיניות למיקום קומפקטי, צריך להשתמש באזור שנמצא באותו אזור כמו המדיניות למיקום קומפקטי. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
NAME_PATTERN: תבנית השם שתשמש למכונות A3 Edge. לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מופעי A3 Edge עם שמות כמוinstance-1ו-instance-2, עד למספר מופעי A3 Edge שצוין על ידי--count. -
COUNT: מספר המופעים של A3 Edge שרוצים ליצור. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש במופע A3 Edge. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
DISK_TYPE: סוג דיסק האתחול. לסדרת המכונות הזו, מומלץ להשתמש ב-hyperdisk-balanced. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. לדוגמה, אפשר להשתמש ב-cos-cloudעבור קובץ האימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסהcos-121-ltsואילך. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות. בסדרת מכונות A3 Edge, אנחנו ממליצים מאוד להשתמש בקובץ אימג' של מערכת הפעלה שמותאמת לקונטיינרים בגרסה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.
המאמרים הבאים
- אימות השימוש בהזמנה
- איך רואים את הטופולוגיה של מכונת חישוב
- סקירה כללית על הפעלת עומסי עבודה
- פתרון בעיות בשימוש בהזמנה