במאמר הזה מוסבר איך להגדיר הפעלה גמישה של מכונות כשיוצרים מכונות וירטואליות (VM) בכמות גדולה. גמישות במופעים מאפשרת לכם לציין כמה סוגי מכונות, לדרג אותם לפי העדפה ולשנות את הפלטפורמה המינימלית של המעבד (CPU) ואת הגדרות הדיסק עבור כל בחירה, כדי ש-Compute Engine יוכל להקצות מכונות וירטואליות על סמך הקיבולת והזמינות של המכסות באזור.
מידע נוסף על הפעלה גמישה של מכונות וירטואליות שנוצרו בכמות גדולה זמין במאמר מידע על הפעלה גמישה של מכונות וירטואליות שנוצרו בכמות גדולה.
לפני שמתחילים
- ודאו שיש לכם מספיק מכסה למכונות הווירטואליות ולמשאבים הקשורים שאתם מתכננים ליצור.
- אם רוצים ליצור מכונות וירטואליות (VM) מסוג Spot בכמות גדולה, כדאי לבדוק את זמינות המשאבים לפני שיוצרים את המכונות הווירטואליות. בדיקת הזמינות של משאבים עוזרת לצמצם את הסיכוי להיתקל בשגיאות שקשורות לזמינות של משאבים כשיוצרים מכונות וירטואליות. הוראות מפורטות מופיעות במאמר הצגת זמינות המשאבים של VM במודל Spot.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת מכונות וירטואליות עם כמה סוגי מכונות בעלי עדיפות זהה
אם עומס העבודה שלכם יכול לפעול בכמה סוגי מכונות שונים, אתם יכולים לציין רשימה של כל סוגי המכונות התואמים בבחירת מכונה אחת. בדוגמאות הבאות אפשר לראות איך מציינים כמה סוגי מכונות עם העדפה שווה.
gcloud
כדי ליצור כמות גדולה של מכונות וירטואליות עם בחירה של מכונה אחת, משתמשים בפקודה gcloud compute instances bulk create עם הדגל --instance-selection-machine-types.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--region=REGION \
--count=COUNT \
--instance-selection-machine-types=MACHINE_TYPE_1,MACHINE_TYPE_2
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השם של המכונות הווירטואליות -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לשימוש במכונות הווירטואליות -
REGION: האזור שבו ייצרו המכונות הווירטואליות
דוגמה
gcloud compute instances bulk create \
--name-pattern=test-bulk-# \
--region=us-central1 \
--count=10 \
--instance-selection-machine-types=c3-standard-8,n2-standard-8,c2-standard-8
REST
ב-Compute Engine API, שולחים בקשת POST אל ה-method regionInstances.bulkInsert.
בגוף הבקשה, כוללים את instanceFlexibilityPolicy עם רשומת instanceSelections אחת שמפרטת את סוגי המכונות.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
"count": COUNT,
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"selection-1": {
"machineTypes": [
"MACHINE_TYPE_1",
"MACHINE_TYPE_2"
]
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השם של המכונות הווירטואליות -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לשימוש במכונות הווירטואליות -
IMAGE_PROJECT: הפרויקט שמכיל את התמונה -
IMAGE: השם של קובץ האימג' או משפחת קובצי האימג' שבהם רוצים להשתמש -
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שבו יוצרים את המכונות הווירטואליות
דוגמה
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
"count": 10,
"namePattern": "test-bulk-#",
"instanceProperties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/debian-12"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"selection-1": {
"machineTypes": [
"c3-standard-8",
"n2-standard-8",
"c2-standard-8"
]
}
}
}
}
יצירת מכונות וירטואליות עם כמה סוגים של מכונות שדורגו לפי העדפה
אם אתם רוצים ש-Compute Engine יבחר סוגי מכונות בסדר מסוים, אתם יכולים להגדיר כמה בחירות של מכונות. כל בחירת מכונה כוללת רשימה של סוגי מכונות ודירוג, שהוא מספר שלם שמגדיר את ההעדפה לסוגי המכונות. דירוג נמוך יותר מצביע על העדפה גבוהה יותר. מערכת Compute Engine מנסה ליצור מכונות וירטואליות באמצעות סוגי מכונות עם העדפה גבוהה יותר (דירוג נמוך יותר). אם סוגי המכונות האלה לא זמינים, Compute Engine משתמש בסוגי מכונות עם העדפה נמוכה יותר (דירוג גבוה יותר).
בדוגמאות הבאות אפשר לראות איך לציין כמה מופעים עם דירוגים.
gcloud
כדי ליצור כמות גדולה של מכונות וירטואליות עם כמה בחירות של מכונות, משתמשים בפקודה gcloud compute instances bulk create ומציינים את הדגל --instance-selection כמה פעמים.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--region=REGION \
--count=COUNT \
--instance-selection "name=INSTANCE_SELECTION_1,rank=0,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2" \
--instance-selection "name=INSTANCE_SELECTION_2,rank=1,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4"
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השם של המכונות הווירטואליות -
INSTANCE_SELECTION_1: השם של הבחירה הראשונה של המופע -
INSTANCE_SELECTION_2: השם של הבחירה השנייה של המופע -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לבחירת המכונה הראשונה -
MACHINE_TYPE_3,MACHINE_TYPE_4: סוגי המכונות לבחירת המכונה השנייה -
REGION: האזור שבו ייצרו המכונות הווירטואליות
דוגמה
gcloud compute instances bulk create \
--name-pattern=test-bulk-# \
--region=us-central1 \
--count=10 \
--instance-selection "name=most-preferred,rank=0,machine-type=c3-standard-16,machine-type=n2-standard-16,machine-type=c2-standard-16" \
--instance-selection "name=least-preferred,rank=1,machine-type=c3-standard-8,machine-type=n2-standard-8,machine-type=c2-standard-8"
REST
ב-Compute Engine API, שולחים בקשת POST אל ה-method regionInstances.bulkInsert.
בגוף הבקשה, כוללים את instanceFlexibilityPolicy ומציינים כמה רשומות ב-instanceSelections, כל אחת עם רשימה של סוגי מכונות ועם rank.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
"count": COUNT,
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"INSTANCE_SELECTION_1": {
"machineTypes": [
"MACHINE_TYPE_1",
"MACHINE_TYPE_2"
],
"rank": 1
},
"INSTANCE_SELECTION_2": {
"machineTypes": [
"MACHINE_TYPE_3",
"MACHINE_TYPE_4"
],
"rank": 2
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השמות של המכונות הווירטואליות -
INSTANCE_SELECTION_1: השם של הבחירה הראשונה של המופע -
INSTANCE_SELECTION_2: השם של הבחירה השנייה של המופע -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לבחירת המכונה הראשונה -
MACHINE_TYPE_3,MACHINE_TYPE_4: סוגי המכונות לבחירת המופע השני -
IMAGE_PROJECT: הפרויקט שמכיל את קובץ האימג' -
IMAGE: השם של קובץ האימג' או משפחת קובצי האימג' שבהם רוצים להשתמש -
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שבו יוצרים את המכונות הווירטואליות
דוגמה
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
"count": 10,
"namePattern": "test-bulk-#",
"instanceProperties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/debian-12"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"most-preferred": {
"machineTypes": [
"c3-standard-16",
"c2-standard-16"
],
"rank": 1
},
"least-preferred": {
"machineTypes": [
"n2-standard-16",
"c3-standard-8",
"n2-standard-8",
"c2-standard-8"
],
"rank": 2
}
}
}
}
יצירת מכונות וירטואליות עם כמה סוגי מכונות, פלטפורמת CPU מינימלית ושינויים בהגדרות הדיסק
בנוסף לציון סוגי מכונות ודירוגים, אפשר לבטל את פלטפורמת ה-CPU המינימלית ולבטל או להוסיף להגדרות הדיסק ב-instanceProperties לכל בחירה של מכונה. לדוגמה, אם instanceProperties מציין דיסק לאחסון מתמיד (persistent disk) ואתם בוחרים בסדרת מכונות N4, אתם צריכים לשנות את דיסק האתחול לסוג נתמך של Google Cloud Hyperdisk.
למידע נוסף על סוגי הדיסקים הנתמכים ועל האופן שבו Compute Engine מבטל הגדרות ברירת מחדל, אפשר לעיין במקורות המידע הבאים:
- תמיכה בסדרות מכונות לדיסקים לאחסון מתמיד
- תמיכה בסדרות מכונות ב-Hyperdisk
- החלפת מאפייני מופע בבחירות של מופעים
כדי ליצור כמה מכונות וירטואליות עם כמה סוגי מכונות, פלטפורמת CPU מינימלית ושינויים בדיסק, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור כמות גדולה של מכונות וירטואליות עם כמה סוגי מכונות, פלטפורמת CPU מינימלית ושינויים בהגדרות הדיסק, משתמשים בפקודה gcloud compute instances bulk create עם הדגל --instance-flexibility-policy. כדי לבטל את ברירת המחדל של דיסק האתחול מ-instanceProperties, צריך לכלול גם את הדגל --boot-disk-device-name ולציין את אותו deviceName בבחירת המכונה:
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--region=REGION \
--count=COUNT \
--boot-disk-device-name=BOOT_DISK_DEVICE_NAME \
--instance-flexibility-policy='{"instanceSelections":
{"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"deviceName":"BOOT_DISK_DEVICE_NAME_1","boot":true,"initializeParams":{"diskType":"DISK_TYPE_1","diskSizeGb":DISK_SIZE_1,"sourceImage":"projects/IMAGE_PROJECT_1/global/images/IMAGE_1"}}]},
"INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"deviceName":"BOOT_DISK_DEVICE_NAME_2","boot":true,"initializeParams":{"diskType":"DISK_TYPE_2","diskSizeGb":DISK_SIZE_2,"sourceImage":"projects/IMAGE_PROJECT_2/global/images/IMAGE_2"}}]}}}'
לחלופין, כדי להגדיר את מדיניות ההפעלה הגמישה של מכונות באמצעות קובץ YAML או JSON, משתמשים בהדגל --flags-file במקום בדגל --instance-flexibility-policy:
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--region=REGION \
--count=COUNT \
--boot-disk-device-name=BOOT_DISK_DEVICE_NAME \
--flags-file=FILE_NAME.yaml
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השם של המכונות הווירטואליות -
REGION: האזור שבו יוצרים את המכונות הווירטואליות -
BOOT_DISK_DEVICE_NAME: שם המכשיר של דיסק האתחול שמוגדר כברירת מחדל ב-instanceProperties -
INSTANCE_SELECTION_1,INSTANCE_SELECTION_2: השמות של בחירות המכונות -
RANK_1, RANK_2: מספרים אופציונליים שמייצגים את סדר העדיפויות שלכם לבחירת כל מופע. ערך נמוך יותר מציין עדיפות גבוהה יותר. -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לבחירת המופע הראשון -
MACHINE_TYPE_3: סוג המכונה של המכונה השנייה שנבחרה -
MIN_CPU_PLATFORM_1,MIN_CPU_PLATFORM_2: פלטפורמות CPU מינימליות אופציונליות למכונות הווירטואליות בכל בחירה של מופע -
BOOT_DISK_DEVICE_NAME_1, BOOT_DISK_DEVICE_NAME_2: שמות המכשירים של דיסקי האתחול בכל בחירת מופע. כדי לשנות את דיסק האתחול שמוגדר כברירת מחדל, מציינים את אותו שם כמוBOOT_DISK_DEVICE_NAME -
DISK_TYPE_1, DISK_TYPE_2: סוגי הדיסקים לשינוי ברירת המחדל של הדיסקים, כמוpd-ssdאוhyperdisk-balanced -
DISK_SIZE_1,DISK_SIZE_2: גדלי הדיסקים של החלפות הדיסקים -
IMAGE_PROJECT_1,IMAGE_PROJECT_2: הפרויקטים שמכילים את קובצי האימג' של הדיסקים לשינוי -
IMAGE_1,IMAGE_2: השמות של התמונות או של משפחות התמונות לשינוי ברירת המחדל של הדיסק -
FILE_NAME.yaml: השם של קובץ ה-YAML או ה-JSON שמכיל את ההגדרות של--instance-flexibility-policy
דוגמה
בדוגמה הבאה נוצרות 10 מכונות וירטואליות באמצעות שני בחירות של מכונות שמציינות פלטפורמת CPU מינימלית, מבטלות את ברירת המחדל של דיסק האתחול ומצרפות דיסקים נוספים:
gcloud compute instances bulk create \
--name-pattern=test-bulk-# \
--region=us-central1 \
--count=10 \
--boot-disk-device-name=boot-disk \
--instance-flexibility-policy='{"instanceSelections":
{"selection-1":{"machineTypes":["n2-standard-8","c2-standard-8"],"minCpuPlatform":"Intel Cascade Lake","disks":[{"type":"PERSISTENT","deviceName":"boot-disk","boot":true,"initializeParams":{"diskType":"pd-ssd","diskSizeGb":50,"sourceImage":"projects/debian-cloud/global/images/family/debian-12"}},{"type":"SCRATCH","initializeParams":{"diskType":"local-ssd"}}]},
"selection-2":{"machineTypes":["c4a-standard-8"],"disks":[{"type":"PERSISTENT","deviceName":"boot-disk","boot":true,"initializeParams":{"diskType":"hyperdisk-balanced","diskSizeGb":50,"sourceImage":"projects/debian-cloud/global/images/family/debian-12-arm64"}},{"type":"PERSISTENT","deviceName":"data-disk","initializeParams":{"diskType":"hyperdisk-balanced","diskSizeGb":128}}]}}}'
לחלופין, אם משתמשים בדגל --flags-file, אפשר לציין את אותה מדיניות גמישות של מופע בקובץ YAML:
--instance-flexibility-policy:
instanceSelections:
selection-1:
machineTypes:
- n2-standard-8
- c2-standard-8
minCpuPlatform: Intel Cascade Lake
disks:
- type: PERSISTENT
deviceName: boot-disk
boot: true
initializeParams:
diskType: pd-ssd
diskSizeGb: 50
sourceImage: projects/debian-cloud/global/images/family/debian-12
- type: SCRATCH
initializeParams:
diskType: local-ssd
selection-2:
machineTypes:
- c4a-standard-8
disks:
- type: PERSISTENT
deviceName: boot-disk
boot: true
initializeParams:
diskType: hyperdisk-balanced
diskSizeGb: 50
sourceImage: projects/debian-cloud/global/images/family/debian-12-arm64
- type: PERSISTENT
deviceName: data-disk
initializeParams:
diskType: hyperdisk-balanced
diskSizeGb: 128
REST
ב-Compute Engine API, שולחים בקשת POST אל ה-method regionInstances.bulkInsert.
בכל רשומה של instanceSelections ב-instanceFlexibilityPolicy, כוללים את השדה minCpuPlatform כדי לשנות את instanceProperties.minCpuPlatform, ואת השדה disks כדי לשנות את instanceProperties.disks או להוסיף לו:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
"count": COUNT,
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"disks": [
{
"boot": true,
"deviceName": "boot-disk",
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"INSTANCE_SELECTION_1": {
"machineTypes": [
"MACHINE_TYPE_1",
"MACHINE_TYPE_2"
],
"minCpuPlatform": "MIN_CPU_PLATFORM_1",
"disks": [
{
"type": "PERSISTENT",
"deviceName": "boot-disk",
"initializeParams": {
"diskType": "pd-ssd",
"diskSizeGb": 50,
"sourceImage": "projects/IMAGE_PROJECT_1/global/images/IMAGE_1"
},
"boot": true
},
{
"type": "SCRATCH",
"initializeParams": {
"diskType": "local-ssd"
}
}
]
},
"INSTANCE_SELECTION_2": {
"machineTypes": [
"MACHINE_TYPE_3"
],
"minCpuPlatform": "MIN_CPU_PLATFORM_2",
"disks": [
{
"type": "PERSISTENT",
"deviceName": "boot-disk",
"initializeParams": {
"diskType": "hyperdisk-balanced",
"diskSizeGb": 50,
"sourceImage": "projects/IMAGE_PROJECT_2/global/images/IMAGE_2"
},
"boot": true
},
{
"type": "PERSISTENT",
"deviceName": "data-disk",
"initializeParams": {
"diskType": "hyperdisk-balanced",
"diskSizeGb": 128,
"sourceImage": "projects/IMAGE_PROJECT_3/global/images/IMAGE_3"
}
}
]
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
COUNT: מספר המכונות הווירטואליות שרוצים ליצור -
NAME_PATTERN: תבנית השמות של המכונות הווירטואליות -
INSTANCE_SELECTION_1: השם של הבחירה הראשונה של המופע -
INSTANCE_SELECTION_2: השם של הבחירה השנייה של המופע -
MACHINE_TYPE_1,MACHINE_TYPE_2: סוגי המכונות לבחירת המופע הראשון -
MACHINE_TYPE_3: סוג המכונה לבחירת המכונה השנייה -
MIN_CPU_PLATFORM_1,MIN_CPU_PLATFORM_2: פלטפורמות CPU מינימליות אופציונליות למכונות הווירטואליות בכל בחירת מכונה IMAGE_PROJECT: הפרויקט שמכיל את קובץ אימג' לאתחול שמוגדר כברירת מחדל ב-instanceProperties-
IMAGE: השם של תמונת האתחול או של משפחת התמונות שמוגדרת כברירת מחדל ב-instanceProperties -
IMAGE_PROJECT_1, IMAGE_PROJECT_2, IMAGE_PROJECT_3: הפרויקטים שמכילים את קובצי האימג' של הדיסקים שמחליפים את הדיסקים הקיימים -
IMAGE_1, IMAGE_2, IMAGE_3: שמות קובצי האימג' לשינוי ברירת המחדל של הדיסק -
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שבו יוצרים את המכונות הווירטואליות
דוגמה
בדוגמה הבאה נוצרות 10 מכונות וירטואליות באמצעות שתי בחירות של מכונות, שמציינות פלטפורמת CPU מינימלית, מבטלות את דיסק האתחול שמוגדר כברירת מחדל ומצרפות דיסקים נוספים:
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
"count": 10,
"namePattern": "test-bulk-#",
"instanceProperties": {
"disks": [
{
"boot": true,
"deviceName": "boot-disk",
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12"
}
}
],
"networkInterfaces": [{}]
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"selection-1": {
"machineTypes": [
"n2-standard-8",
"c2-standard-8"
],
"minCpuPlatform": "Intel Cascade Lake",
"disks": [
{
"type": "PERSISTENT",
"deviceName": "boot-disk",
"initializeParams": {
"diskType": "pd-ssd",
"diskSizeGb": 50,
"sourceImage": "projects/debian-cloud/global/images/family/debian-12"
},
"boot": true
},
{
"type": "SCRATCH",
"initializeParams": {
"diskType": "local-ssd"
}
}
]
},
"selection-2": {
"machineTypes": [
"c4a-standard-8"
],
"disks": [
{
"type": "PERSISTENT",
"deviceName": "boot-disk",
"initializeParams": {
"diskType": "hyperdisk-balanced",
"diskSizeGb": 50,
"sourceImage": "projects/debian-cloud/global/images/family/debian-12-arm64"
},
"boot": true
},
{
"type": "PERSISTENT",
"deviceName": "data-disk",
"initializeParams": {
"diskType": "hyperdisk-balanced",
"diskSizeGb": 128
}
}
]
}
}
}
}