במאמרי עזרה הזה נסביר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת במכונות וירטואליות (VM) עם התחלה גמישה (Flex-start). מכונות וירטואליות עם הפעלה גמישה פועלות ללא הפרעה למשך עד שבעה ימים, ועוזרות לכם להשיג משאבים מבוקשים, כמו יחידות GPU, במחיר מוזל. התכונות האלה הופכות את המכונות הווירטואליות עם הפעלה גמישה לפתרון משתלם להרצת עומסי עבודה לפרקי זמן קצרים, כמו כוונון עדין של מודלים ועומסי עבודה של הסקת מסקנות באצווה.
במאמר הזה מוסבר איך ליצור קבוצת MIG שיוצרת מכונות וירטואליות נפרדות עם הפעלה גמישה כשהמשאבים הופכים לזמינים. לכן, יכול להיות ש-MIG ייצור בהתחלה רק חלק מהמכונות הווירטואליות המבוקשות, ואז יוסיף את שאר המכונות הווירטואליות בהמשך, אם יהיה מקום. אם רוצים ליצור מכונות וירטואליות עם תשלום לפי שימוש ב-MIG בבת אחת, כדאי לעיין במאמר מידע על בקשות לשינוי גודל של MIG.
שיטות נוספות ליצירת קבוצות MIG מפורטות במאמר תרחישים בסיסיים ליצירת קבוצת MIG.
לפני שמתחילים
- מוודאים שיש לכם מספיק מכסה למשאבים שאתם רוצים לבקש. מידע נוסף מופיע במאמר בנושא מכסות הקצאה.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
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 .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת קבוצות של מכונות מנוהלות (MIG) שמשתמשות במכונות וירטואליות עם הפעלה גמישה, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת קבוצות של מכונות מנוהלות (MIG) שמשתמשות במכונות וירטואליות עם הפעלה גמישה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור קבוצות MIG שמשתמשות במכונות וירטואליות עם הפעלה גמישה, צריך את ההרשאות הבאות:
-
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי ליצור קבוצת MIG:
compute.instanceGroupManagers.createבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת קבוצת מופעים מנוהלת (MIG) שמשתמשת במכונות וירטואליות מסוג Flex-start
כדי ליצור קבוצת MIG שמשתמשת במכונות וירטואליות עם הפעלה גמישה, צריך לבצע את השלבים הבאים:
יצירת תבנית של הגדרות מכונה שמוגדרת ליצירת מכונות וירטואליות עם הפעלה גמישה
צריך ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת מכונות וירטואליות עם הפעלה גמישה, כמו שמתואר בקטע הזה. אחרי שיוצרים את התבנית, משתמשים בה כדי ליצור את ה-MIG.
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת Flex-start VM, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance templates במסוף Google Cloud .
לוחצים על Create instance template. מופיע הדף Create an instance template.
בשדה Name, מזינים שם לתבנית של הגדרות מכונה.
בקטע מיקום, בוחרים את סוג תבנית של הגדרות מכונה שרוצים ליצור:
כדי ליצור תבנית של הגדרות מכונה אזורית, בוחרים באפשרות Regional (אזורית) ואז בוחרים את האזור שבו רוצים ליצור את התבנית. על סמך סוג המכונה שרוצים שמכונות ה-VM עם Flex-start ישתמשו בו, מציינים אזור נתמך.
כדי ליצור תבנית של הגדרות מכונה גלובלית, בוחרים באפשרות Global.
בקטע Machine configuration, בוחרים סדרת מכונות נתמכת למכונות וירטואליות עם הפעלה גמישה.
בקטע Provisioning model:
ברשימה VM provisioning model בוחרים באפשרות Flex-start.
כדי להגדיר את משך ההפעלה של המכונות הווירטואליות שנוצרו באמצעות תבנית של הגדרות מכונה, בשדה Enter number of hours (הזנת מספר השעות), מזינים את מספר השעות שבהן המכונות הווירטואליות יפעלו. הערך צריך להיות בין שעה אחת (
1) לבין שבעה ימים (168). כשהמכונות הווירטואליות מגיעות לסוף משך ההפעלה שלהן, Compute Engine מוחק כל מכונה וירטואלית בנפרד ביחס לזמן היצירה שלה.
אופציונלי: כדי לשנות את סוג דיסק האתחול או את התמונה שמוגדרים כברירת מחדל, בקטע Boot disk לוחצים על Change. אחר כך, פועלים לפי ההנחיות כדי לשנות את דיסק האתחול.
לוחצים על יצירה.
gcloud
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת Flex-start VM, משתמשים בפקודה gcloud compute instance-templates create.
הפקודה הבאה יוצרת תבנית של הגדרות מכונה אזורית. אם רוצים ליצור תבנית גלובלית של הגדרות מכונה, משתמשים באותה פקודה בלי הדגל --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--instance-termination-action=DELETE \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--max-run-duration=RUN_DURATION \
--provisioning-model=FLEX_START \
--reservation-affinity=none
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה שרוצים ליצור.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה. לדוגמה,debian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE_FAMILY: an image family, which specifies the most recent, non-deprecated OS image. לדוגמה, אם מצייניםdebian-12, משתמשים בגרסה האחרונה במשפחת קובצי האימג' של Debian 12. מידע נוסף על שימוש במשפחות תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות תמונות.
REGION: האזור שבו רוצים ליצור את תבנית המכונה. על סמך סוג המכונה שבה רוצים להשתמש במכונות הווירטואליות עם הפעלה גמישה, מציינים אזור נתמך.
MACHINE_TYPE: סוג מכונת ה-GPU או סוג מכונת ה-H4D שבהן רוצים להשתמש במכונות הווירטואליות מסוג Flex-start. אם מציינים סוג מכונה N1, צריך לכלול את הדגל--acceleratorכדי להגדיר את המספר והסוג של מעבדי ה-GPU שיוצמדו למכונות הווירטואליות.
RUN_DURATION: משך הזמן שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. כשהמכונות הווירטואליות מגיעות לסוף משך ההפעלה שלהן, Compute Engine מוחק כל מכונה וירטואלית בנפרד ביחס לזמן היצירה שלה. צריך להזין את משך ההפעלה בפורמט של מספר הימים, השעות, הדקות או השניות, ואחריוd,h,mו-sבהתאמה. לדוגמה, מציינים30mל-30 דקות או1d2h3m4sליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך חייב להיות בין 10 דקות לשבעה ימים.
REST
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת Flex-start VMs, שולחים אחת מהבקשות הבאות מסוג POST:
כדי ליצור תבנית של הגדרות מכונה אזורית:
regionInstanceTemplates.insertשיטהכדי ליצור תבנית גלובלית של הגדרות מכונה:
instanceTemplates.insertmethod
לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את תבנית של הגדרות מכונה.
REGION: האזור שבו רוצים ליצור את תבנית המכונה. על סמך סוג המכונה שבה רוצים להשתמש במכונות הווירטואליות עם הפעלה גמישה, מציינים אזור נתמך.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה. לדוגמה,debian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. הערך הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה האחרונה במשפחת קובצי האימג' של Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג המכונה עם GPU שבה רוצים להשתמש במכונות הווירטואליות. אם מציינים סוג מכונה N1, צריך לכלול את השדהguestAcceleratorsכדי להגדיר את המספר והסוג של יחידות ה-GPU שיוצמדו למכונות הווירטואליות.
RUN_DURATION: משך הזמן, בשניות, שבו רוצים שהמכונות הווירטואליות המבוקשות יפעלו. כשהמכונות הווירטואליות מגיעות לסוף משך ההפעלה שלהן, Compute Engine מוחק כל מכונה וירטואלית בנפרד ביחס לזמן היצירה שלה. משך ההפעלה צריך להיות בין600, כלומר 600 שניות (10 דקות), לבין604800, כלומר 604,800 שניות (שבעה ימים).
אחרי שיוצרים את תבנית של הגדרות מכונה, אפשר לראות את פרטי התבנית כדי לבדוק את המאפיינים שלה.
יצירת קבוצת מופעים מנוהלת (MIG) אזורית או תחומית
יוצרים קבוצת מופעים מנוהלת (MIG) אזורית או אזורית, כמו שמתואר בקטע הזה. אסור להגדיר התאמה אוטומטית לעומס, וצריך להשבית את התיקונים. אם המשאבים שביקשתם לא זמינים, מערכת Compute Engine תמשיך לנסות להקצות משאבים עד שהבקשה תצליח, עד שתקטינו את מספר המכונות הווירטואליות בקבוצת ה-MIG או עד שתמחקו את קבוצת ה-MIG.
כדי ליצור קבוצת MIG אזורית או אזורית, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על יצירת קבוצת מופעים. ייפתח הדף Create instance group.
בשדה Name, מזינים שם ל-MIG.
ברשימה Instance template, בוחרים את תבנית של הגדרות מכונה שיצרתם בקטע הקודם.
בשדה Number of instances (מספר המופעים), מזינים את מספר המכונות הווירטואליות מסוג Flex-start שרוצים ליצור ב-MIG. אם עומס העבודה שלכם דורש שמות ספציפיים למכונות הווירטואליות, מזינים
0כדי לא ליצור מכונות וירטואליות. אחרי שיוצרים את ה-MIG, מוסיפים לו מכונות וירטואליות עם שמות ספציפיים.בקטע Location, מציינים אם רוצים ליצור קבוצת MIG אזורית או קבוצת MIG אזורית, באופן הבא:
כדי ליצור קבוצת MIG אזורית, בוחרים באפשרות Single zone (אזור יחיד). לחלופין, כדי ליצור קבוצת MIG אזורית, בוחרים באפשרות אזורים מרובים.
בוחרים את האזור והתחומים של ה-MIG.
אם יוצרים קבוצת MIG אזורית, מבצעים את הפעולות הבאות:
בשדה Target distribution shape, בוחרים באפשרות Any single zone.
בתיבת הדו-שיח שמופיעה, לוחצים על השבתת ההפצה מחדש של המכונה.
כדי למחוק את הגדרת שינוי הגודל האוטומטי, בקטע Autoscaling, מבצעים את הפעולות הבאות:
לוחצים על Configure autoscaling (הגדרת שינוי גודל אוטומטי).
ברשימה Autoscaling mode (מצב שינוי גודל אוטומטי), לוחצים על Delete autoscaling configuration (מחיקת הגדרת שינוי גודל אוטומטי).
בתיבת הדו-שיח לאישור, לוחצים על מחיקה.
כדי להשבית את התיקונים, בקטע פעולה במקרה של כשל, ברשימה פעולת ברירת מחדל במקרה של כשל, בוחרים באפשרות ללא פעולה.
לוחצים על יצירה.
gcloud
כדי ליצור קבוצת מופעים מנוהלת, משתמשים בפקודה gcloud compute instance-groups managed create.
בהתאם לסוג ה-MIG שרוצים ליצור, כוללים את הפלאגים הבאים בפקודה:
כדי ליצור קבוצת MIG אזורית, כוללים את הדגל
--zone:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEכדי ליצור קבוצת MIG אזורית, צריך לכלול את הדגלים
--regionו---target-distribution-shape:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --target-distribution-shape=SHAPE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_GROUP_NAME: השם של ה-MIG.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית הגדרות המכונה שיצרתם בקטע הקודם. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
SIZE: מספר המכונות הווירטואליות מסוג Flex-start שייווצרו ב-MIG. אם עומס העבודה דורש שמות ספציפיים של מכונות וירטואליות, צריך לציין0כדי לא ליצור מכונות וירטואליות. אחרי שיוצרים את ה-MIG, מוסיפים לו מכונות וירטואליות עם שמות ספציפיים.
ZONE: האזור שבו רוצים ליצור את ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, אז צריך לציין תחום (zone) באותו אזור כמו התבנית.
REGION: האזור שבו ייצור ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, צריך לציין את אותו אזור כמו האזור של התבנית.
SHAPE: איך קבוצת ה-MIG מחלקת את המכונות הווירטואליות עם הפעלה גמישה בין האזורים בקבוצת ה-MIG האזורית. מציינים אחד מהערכים הבאים:כדי ליצור מכונות וירטואליות בכמה אזורים על סמך הזמינות:
ANYכדי ליצור מכונות וירטואליות באזור אחד על סמך הזמינות:
ANY_SINGLE_ZONE
מידע נוסף זמין במאמר בנושא צורת חלוקת היעד של קבוצות אזוריות של מכונות MIG.
REST
כדי ליצור קבוצת MIG, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור קבוצת MIG אזורית, שולחים את הבקשה הבאה אל ה-method
instanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE }כדי ליצור קבוצת MIG אזורית, שולחים את הבקשה הבאה אל ה-method
regionInstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE, "distributionPolicy": { "targetShape": "SHAPE" } }
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את ה-MIG האזורי או האזורי.
ZONE: האזור שבו רוצים ליצור את ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, אז צריך לציין תחום (zone) באותו אזור כמו התבנית.
REGION: האזור שבו ייצור ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, צריך לציין את אותו אזור כמו האזור של התבנית.
INSTANCE_GROUP_NAME: השם של ה-MIG.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית הגדרות המכונה שיצרתם בקטע הקודם. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
SIZE: מספר המכונות הווירטואליות מסוג Flex-start שייווצרו ב-MIG. אם עומס העבודה דורש שמות ספציפיים של מכונות וירטואליות, צריך לציין0כדי לא ליצור מכונות וירטואליות. אחרי שיוצרים את ה-MIG, מוסיפים לו מכונות וירטואליות עם שמות ספציפיים.
SHAPE: איך קבוצת ה-MIG מחלקת את המכונות הווירטואליות עם הפעלה גמישה בין האזורים בקבוצת ה-MIG האזורית. מציינים אחד מהערכים הבאים:כדי ליצור מכונות וירטואליות בכמה אזורים על סמך הזמינות:
ANYכדי ליצור מכונות וירטואליות באזור אחד על סמך הזמינות:
ANY_SINGLE_ZONE
מידע נוסף זמין במאמר בנושא צורת חלוקת היעד של קבוצות אזוריות של מכונות MIG.
המאמרים הבאים
איך צופים במידע על קבוצות של מכונות מנוהלות (MIG) ומכונות וירטואליות מנוהלות
איך רואים את נתוני השימוש בפועל ואת התחזיות של המכונות הווירטואליות ויחידות ה-GPU