במאמר הזה נסביר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת במכונות וירטואליות מסוג Spot.
מכונות וירטואליות (VM) מסוג Spot הן מכונות וירטואליות שאפשר לקבל במחיר מוזל במיוחד. עם זאת, מערכת Compute Engine יכולה להפסיק את הפעילות של מכונות וירטואליות (VM) מסוג Spot או למחוק אותן בכל שלב כדי לפנות קיבולת. כדאי להשתמש במכונות Spot VM כדי להריץ עומסי עבודה (workloads) עמידים בכשלים, כמו משימות עיבוד באצווה או אפליקציות חסרות מצב (stateless), בעלות נמוכה.
שיטות נוספות ליצירת קבוצות MIG מפורטות במאמר תרחישים בסיסיים ליצירת קבוצת MIG.
לפני שמתחילים
- מוודאים שיש לכם מספיק מכסה למשאבים שאתם רוצים לבקש. מידע נוסף מופיע במאמר בנושא מכסות הקצאה.
- בודקים את זמינות המשאבים באזור או בתחום שבו רוצים ליצור מכונות וירטואליות מסוג Spot. בדיקת הזמינות של משאבים עוזרת לצמצם את הסיכוי להיתקל בשגיאות שקשורות לזמינות של משאבים כשיוצרים מכונות וירטואליות. הוראות מפורטות מופיעות במאמר בנושא צפייה בזמינות של מכונות Spot VM.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת קבוצות מנוהלות של מופעים (MIG) שמשתמשות במכונות וירטואליות מסוג Spot, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת קבוצות של מכונות מנוהלות (MIG) שמשתמשות במכונות וירטואליות מסוג Spot. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור קבוצות של מכונות מנוהלות (MIG) שמשתמשות במכונות וירטואליות מסוג Spot, צריך את ההרשאות הבאות:
-
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי ליצור קבוצת MIG:
compute.instanceGroupManagers.createבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת קבוצת MIG שמשתמשת במכונות וירטואליות מסוג Spot
כדי ליצור קבוצת מופעים מנוהלת (MIG) שמשתמשת במכונות וירטואליות מסוג Spot, צריך לבצע את השלבים הבאים:
יצירת תבנית של הגדרות מכונה שמוגדרת ליצירת VM במודל Spot
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת VM במודל Spot, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance templates במסוף Cloud de Confiance .
לוחצים על Create instance template. מופיע הדף Create an instance template.
בשדה Name, מזינים שם לתבנית של הגדרות מכונה.
בקטע מיקום, בוחרים את סוג תבנית של הגדרות מכונה שרוצים ליצור:
כדי ליצור תבנית של הגדרות מכונה אזורית, בוחרים באפשרות Regional (אזורית) ואז בוחרים את האזור שבו רוצים ליצור את התבנית. בהתאם לסוג המכונה שבה אתם רוצים שמכונות ה-VM מסוג Spot ישתמשו, מציינים אזור נתמך.
כדי ליצור תבנית של הגדרות מכונה גלובלית, בוחרים באפשרות Global.
בקטע Machine configuration, בוחרים סדרת מכונות נתמכת עבור מכונות Spot.
בקטע Provisioning model:
ברשימה VM provisioning model בוחרים באפשרות Spot.
כדי לציין אם להפסיק את הפעילות של מכונות וירטואליות מסוג Spot או למחוק אותן במקרה של קדימות, בוחרים אחת מהאפשרויות הבאות ברשימה On VM termination:
כדי לעצור מכונות וירטואליות מסוג Spot, בוחרים באפשרות עצירה.
כדי למחוק מכונות וירטואליות מסוג Spot, בוחרים באפשרות מחיקה.
אופציונלי: כדי לשנות את סוג דיסק האתחול או את התמונה שמוגדרים כברירת מחדל, בקטע Boot disk לוחצים על Change. אחר כך, פועלים לפי ההנחיות כדי לשנות את דיסק האתחול.
לוחצים על יצירה.
gcloud
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת VM במודל Spot, משתמשים בפקודה 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=TERMINATION_ACTION \
--machine-type=MACHINE_TYPE \
--provisioning-model=SPOT
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה שרוצים ליצור.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה. לדוגמה,debian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE_FAMILY: משפחת תמונות. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מציינים את הערךdebian-12, נעשה שימוש בגרסה האחרונה במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות תמונות.
REGION: האזור שבו רוצים ליצור את תבנית המכונה. על סמך סוג המכונה שבה רוצים להשתמש במכונות ה-VM המתומחרות לפי שעה, מציינים אזור נתמך.
TERMINATION_ACTION: האם Compute Engine מפסיק את הפעילות של מכונות וירטואליות במודל Spot או מוחק אותן כשהן מפסיקות לפני הזמן. צריך לציין אם רוצים לעצור (STOP) או למחוק (DELETE) את המכונות הווירטואליות.
MACHINE_TYPE: סוג מכונה נתמך למכונות וירטואליות מסוג Spot. אם מציינים סוג מכונה N1, צריך לכלול את הדגל--acceleratorכדי להגדיר את המספר והסוג של מעבדי ה-GPU שיוצמדו למכונות הווירטואליות.
REST
כדי ליצור תבנית של הגדרות מכונה שמוגדרת ליצירת VM במודל Spot, שולחים אחת מהבקשות הבאות מסוג 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"
}
],
"scheduling": {
"instanceTerminationAction": "TERMINATION_ACTION",
"provisioningModel": "SPOT"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את תבנית של הגדרות מכונה.
REGION: האזור שבו רוצים ליצור את תבנית המכונה. על סמך סוג המכונה שבה רוצים להשתמש במכונות ה-VM המתומחרות לפי שעה, מציינים אזור נתמך.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה. לדוגמה,debian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג מכונה נתמך למכונות וירטואליות מסוג Spot. אם מציינים סוג מכונה N1, צריך לכלול את השדהguestAcceleratorsכדי להגדיר את המספר והסוג של יחידות ה-GPU שיוצמדו למכונות הווירטואליות.
TERMINATION_ACTION: האם Compute Engine מפסיק את הפעילות של מכונות וירטואליות במודל Spot או מוחק אותן כשהן מפסיקות לפני הזמן. צריך לציין אם רוצים לעצור (STOP) או למחוק (DELETE) את המכונות הווירטואליות.
אחרי שיוצרים את תבנית של הגדרות מכונה, אפשר לראות את פרטי התבנית כדי לבדוק את המאפיינים שלה.
יצירת קבוצת מופעים מנוהלת (MIG) אזורית או תחומית
כדי ליצור קבוצת MIG אזורית או אזורית, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על יצירת קבוצת מופעים. ייפתח הדף Create instance group.
בשדה Name, מזינים שם ל-MIG.
ברשימה Instance template, בוחרים את תבנית של הגדרות מכונה שיצרתם בקטע הקודם.
בשדה Number of instances, מזינים את מספר מכונות ה-Spot שרוצים ליצור ב-MIG. אם עומס העבודה שלכם דורש מכונות וירטואליות עם שמות ספציפיים, אתם יכולים להזין
0כדי לדלג על יצירת מכונות וירטואליות בשלב הזה. אחרי שיוצרים את ה-MIG, מוסיפים לו מכונות וירטואליות עם שמות ספציפיים.בקטע Location, מציינים אם רוצים ליצור קבוצת MIG אזורית או קבוצת MIG אזורית, באופן הבא:
כדי ליצור קבוצת MIG אזורית, בוחרים באפשרות Single zone (אזור יחיד). לחלופין, כדי ליצור קבוצת MIG אזורית, בוחרים באפשרות אזורים מרובים.
בוחרים את האזור והתחומים של ה-MIG.
לוחצים על יצירה.
gcloud
כדי ליצור קבוצת מופעים מנוהלת, משתמשים בפקודה gcloud compute instance-groups managed create.
בהתאם לסוג ה-MIG שרוצים ליצור, כוללים את הפלאגים הבאים בפקודה:
כדי ליצור קבוצת MIG אזורית, כוללים את הדגל
--zone:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEכדי ליצור קבוצת MIG אזורית, צריך לכלול את הדגל
--region:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_GROUP_NAME: השם של ה-MIG.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית הגדרות המכונה שיצרתם בקטע הקודם. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
SIZE: מספר מכונות ה-VM במודל Spot שייווצרו ב-MIG. אם עומס העבודה שלכם דורש שמות ספציפיים למכונות הווירטואליות, אתם יכולים לציין0כדי לדלג על יצירת מכונות וירטואליות בשלב הזה. אחרי שיוצרים את ה-MIG, מוסיפים לו מכונות וירטואליות עם שמות ספציפיים.
ZONE: האזור שבו רוצים ליצור את ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, אז צריך לציין תחום (zone) באותו אזור כמו התבנית.
REGION: האזור שבו ייצור ה-MIG האזורי. אם משתמשים בתבנית של הגדרות מכונה אזורית כדי ליצור את ה-MIG, צריך לציין את אותו אזור כמו האזור של התבנית.
REST
כדי ליצור קבוצת MIG, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור קבוצת MIG אזורית, שולחים בקשת
POSTאל ה-methodinstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "targetSize": SIZE }כדי ליצור קבוצת MIG אזורית, שולחים בקשת
POSTאל ה-methodregionInstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": SIZE }
מחליפים את מה שכתוב בשדות הבאים:
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: מספר מכונות ה-VM במודל Spot שייווצרו ב-MIG. אם עומס העבודה דורש שמות ספציפיים של מכונות וירטואליות, צריך לציין0כדי לדלג על יצירת מכונות וירטואליות בשלב הזה. אחרי שיוצרים את ה-MIG, מוסיפים אליו מכונות וירטואליות עם שמות ספציפיים.
אחרי שיוצרים את ה-MIG, אפשר לראות את הפרטים שלו כדי לבדוק את המאפיינים שלו.