במאמר הזה מוסבר איך להציג מידע על קבוצות של מופעי מכונה מנוהלים (MIG) ועל המכונות הווירטואליות (VM) בכל קבוצת MIG.
לפני שמתחילים
- קוראים את המגבלות ואז יוצרים קבוצה.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 זמין במאמר הצגת מידע על מכונות מנוהלות.
הצגת רשימה של קבוצות MIG
כדי לקבל רשימה של קבוצות ה-MIG, משתמשים במסוף, ב-CLI של gcloud או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו בדף, כולל קבוצות MIG וקבוצות מופעים לא מנוהלות.
בעמודה Group type (סוג הקבוצה) מצוין אם הקבוצה מנוהלת, עם שמירת מצב או לא מנוהלת. סוגי הקבוצות עם שמירת מצב הם גם קבוצות של מכונות מנוהלות.
gcloud
הצגת רשימה של כל קבוצות ה-MIG בפרויקט:
gcloud compute instance-groups managed list
REST
עבור קבוצות MIG אזוריות, מבצעים קריאה ל-method instanceGroupManagers.list:
GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers
כדי להפעיל קריאה ל-regionInstanceGroupManagers.list עבור קבוצות אזוריות של מכונות וירטואליות,
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers
הצגת המאפיינים של קבוצת מופעים מנוהלת
כדי לראות מידע על קבוצת MIG ספציפית, כולל המדיניות שלה (לדוגמה, מדיניות התיקון האוטומטי והעדכון של הקבוצה), משתמשים במסוף, ב-ה-CLI של gcloud או ב-REST.
כדי לראות את הערך של id בקבוצה, צריך להשתמש ב-CLI של gcloud או ב-Compute Engine API.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו ברשימה בדף. בדף מופיעה גם רשימה של קבוצות של מופעים לא מנוהלים.
בעמודה שם ברשימה, לוחצים על השם של קבוצת ה-MIG שרוצים לבדוק. נפתח דף עם מאפייני ה-MIG ורשימה של מופעים שנכללים בקבוצה.
לוחצים על פרטים כדי לראות את ההגדרה של הקבוצה.
gcloud
כדי לקבל מידע על קבוצה ספציפית:
gcloud compute instance-groups managed describe instance-group \
[--zone zone | --region region]הפקודה מחזירה פרטים על הקבוצה, כולל מדיניות מצורפת.
משתמשים בדגל --format כדי להגביל את הפלט. לדוגמה, הפקודה הבאה מחזירה רק את ההגדרה של קנה המידה האוטומטי של הקבוצה, אם היא קיימת.
gcloud compute instance-groups managed describe instance-group --format="(autoscaler)"
REST
ל-MIG אזורי, מבצעים קריאה ל-instanceGroupManagers.get.
כדי להפעיל קריאה ל-regionInstanceGroupManagers.get עבור קבוצות אזוריות של מכונות וירטואליות,
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group
התשובה כוללת פרטים על הקבוצה, כולל מדיניות מצורפת, למעט מדיניות ההתאמה האוטומטית לעומס של הקבוצה. למרות שהתאמה אוטומטית לעומס (automatic scaling) היא תכונה של קבוצות MIG, היא משאב REST נפרד.
מדיניות התאמה אוטומטית לעומס
אם מנגנון לשינוי גודל אוטומטי מצורף לקבוצה, משאב המנגנון לשינוי גודל אוטומטי מופיע בשדה status.autoscaler של הקבוצה.
כדי לקבל מידע על קנה המידה האוטומטי הזה, קוראים לשיטה autoscalers.get עבור קבוצת MIG אזורית או לשיטה regionAutoscalers.get עבור קבוצת MIG אזורית. כתובת ה-URL של משאב ההתאמה האוטומטית של גודל הקבוצה כוללת את השם שלו, שהוא כברירת מחדל השם של הקבוצה שאליה מצורף משאב ההתאמה האוטומטית של גודל הקבוצה. לדוגמה, אפשר לשלוח את הבקשה הבאה לשינוי של קנה מידה אוטומטי של קבוצת MIG אזורית:
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/regionAutoscalers/mig_name
בדיקה אם קבוצת ה-MIG יציבה
קבוצת מופעים מנוהלת (MIG) יציבה אם לא מתבצעים שינויים במופעים או לא מתוזמנים שינויים במופעים, ואם לא מתבצעים שינויים בקבוצת המופעים המנוהלת עצמה.
לפני שמתחילים משימה שקשורה לאפליקציה ותלויה בכך שכל המופעים יהיו תקינים ופעילים, כדאי לבדוק את היציבות של קבוצת ה-MIG. לדוגמה, יכול להיות שתרצו לוודא שקבוצת ה-MIG יציבה לפני שתתחילו לתזמן משימות, לשלוח תנועה או להקצות טווחי מפתחות למכונות הווירטואליות.
כדי לוודא שכל המופעים בקבוצת מופעי מכונה מנוהלים פועלים ותקינים, בודקים את הערך של השדה status.isStable של הקבוצה.
gcloud
משתמשים בפקודה describe:
gcloud compute instance-groups managed describe instance-group-name \
[--zone zone | --region region]ה-CLI של gcloud מחזיר מידע מפורט על ה-MIG, כולל השדה status.isStable.
כדי להשהות סקריפט עד שקבוצת ה-MIG תהיה יציבה, משתמשים בפקודה wait-until עם הדגל --stable. לדוגמה:
gcloud compute instance-groups managed wait-until instance-group-name \
--stable \
[--zone zone | --region region]
Waiting for group to become stable, current operations: deleting: 4
Waiting for group to become stable, current operations: deleting: 4
...
Group is stable
הפקודה חוזרת אחרי ש-status.isStable מוגדר ל-true עבור ה-MIG.
REST
במקרה של MIG אזורי, צריך לשלוח בקשת GET ל-method instanceGroupManagers.get:
GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/get
לקבוצה אזורית של מופעי מכונה מנוהלים, מחליפים את zones/zone ב-regions/region:
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group-name/get
הבקשות האלה מחזירות מידע מפורט על ה-MIG, כולל השדה status.isStable.
הערך status.isStable שמוגדר ל-false מציין שהשינויים פעילים, בהמתנה או שה-MIG עצמו עובר שינוי.
הערך status.isStable שמוגדר ל-true מציין את הדברים הבאים:
- אף אחד מהמופעים ב-MIG לא עובר שינוי כלשהו, והערך של
currentActionעבור כל המופעים הואNONE. - אין שינויים בהמתנה למופעים בקבוצת ה-MIG.
- ה-MIG עצמו לא משתנה.
חשוב לזכור שיש הרבה גורמים שמשפיעים על היציבות של קבוצת MIG, כי אפשר לשנות אותה בדרכים רבות. לדוגמה:
- אתם שולחים בקשה להפעלת תבנית של הגדרות מכונה חדשה.
- אתם שולחים בקשה ליצור, למחוק, לשנות את הגודל או לעדכן מופעים ב-MIG.
- כלי להתאמה אוטומטית לעומס שולח בקשה לשינוי הגודל של ה-MIG.
- משאב autohealer מחליף מופע אחד או יותר של מכונות וירטואליות לא תקינות בקבוצת ה-MIG.
- ב-MIG אזורי, חלק מהמופעים מופצים מחדש.
ברגע שכל הפעולות יסתיימו, הערך של status.isStable יוגדר שוב ל-true עבור ה-MIG הזה.
לגבי מכונות וירטואליות ספציפיות, אפשר לקרוא את המאמר בנושא בדיקת הסטטוס של מכונות מנוהלות.
בדיקת הגדרות התיקון ב-MIG
כדי לבדוק את הגדרת התיקון ב-MIG, בוחרים באחת מהאפשרויות הבאות:
המסוף
- נכנסים לדף Instance groups במסוף Cloud de Confiance .
- לוחצים על השם של קבוצת המכונות המנוהלת שרוצים להציג. ייפתח דף עם מאפייני ה-MIG ורשימה של מכונות וירטואליות שנמצאות בקבוצה.
- לוחצים על הכרטיסייה פרטים.
בקטע מחזור החיים של מכונת VM, בודקים את הערכים בשדות הבאים:
פעולת ברירת מחדל במקרה של כשל: אם הערך הוא No action, תיקונים אוטומטיים של מכונות וירטואליות שנכשלו מושבתים.
אם בדיקת התקינות נכשלת:
- אם הערך הוא No action, התיקון האוטומטי מושבת.
- אם הערך הוא פעולת ברירת מחדל והערך בשדה פעולת ברירת מחדל במקרה של כשל הוא ללא פעולה, אז גם התיקון האוטומטי מושבת.
שינוי אזור במהלך תיקון של מופע VM: אם האפשרות הזו נבחרה וכשקבוצת ה-MIG לא מצליחה לתקן מכונה וירטואלית באזור המקורי, קבוצת ה-MIG מתקנת את המכונה הווירטואלית באחד מהאזורים האחרים שנבחרו של קבוצת ה-MIG.
gcloud
משתמשים בשיטת describe באופן הבא:
gcloud compute instance-groups managed describe instance-group \
--format="(instanceLifecyclePolicy)" \
--zone=zone
מחליפים את מה שכתוב בשדות הבאים:
-
instance-group: השם של ה-MIG. -
zone: אם מדובר ב-MIG אזורי, מציינים את האזור. בשביל MIG אזורי, משתמשים בדגל--region=region.
בודקים את הערכים הבאים בפלט:
-
defaultActionOnFailure: אם הערך הואDO_NOTHING, תיקונים אוטומטיים של מכונות וירטואליות שנכשלו מושבתים. -
onFailedHealthCheck: אם הערך הוא אחד מהערכים הבאים, התיקון האוטומטי מושבת.-
DEFAULT_ACTION, בתנאי שהערך של השדהdefaultActionOnFailureהואDO_NOTHING DO_NOTHING
-
-
allowChangingZone: אם הערך הואYESוכש-MIG לא יכול לתקן מכונה וירטואלית באזור המקורי, אז ה-MIG מתקן את המכונה הווירטואלית באחד מהאזורים האחרים שנבחרו ב-MIG.
הדוגמה הבאה היא של פלט שמתקבל כשתיקונים של מכונות וירטואליות שנכשלו או לא תקינות מושבתים ב-MIG:
instanceLifecyclePolicy:
defaultActionOnFailure: DO_NOTHING
forceUpdateOnRepair: NO
onFailedHealthCheck: DEFAULT_ACTION
onRepair:
allowChangingZone: YES
REST
כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה instanceGroupManagers.get. כדי להוסיף מופע ל-MIG אזורי, משתמשים בשיטה regionInstanceGroupManagers.get.
כדי לראות את פעולת ה-MIG במקרים של כשלים במכונות וירטואליות ב-MIG אזורי, מבצעים את הקריאה הבאה:
GET https://compute.googleapis.com/compute/v1/projects/project_ID/zones/zone/instanceGroupManagers/instance_group
בגוף התגובה, בודקים את הערכים של השדות הבאים:
-
defaultActionOnFailure: אם הערך הואDO_NOTHING, תיקונים אוטומטיים של מכונות וירטואליות שנכשלו מושבתים. -
onFailedHealthCheck: אם הערך הוא אחד מהערכים הבאים, התיקון האוטומטי מושבת.-
DEFAULT_ACTION, בתנאי שהערך של השדהdefaultActionOnFailureהואDO_NOTHING DO_NOTHING
-
-
allowChangingZone: אם הערך הואYESוכש-MIG לא יכול לתקן מכונה וירטואלית באזור המקורי, אז ה-MIG מתקן את המכונה הווירטואלית באחד מהאזורים האחרים שנבחרו ב-MIG.
הדוגמה הבאה היא של פלט שמתקבל כשתיקונים של מכונות וירטואליות שנכשלו או לא תקינות מושבתים ב-MIG:
...
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "NO",
"defaultActionOnFailure": "DO_NOTHING",
"onFailedHealthCheck": "DEFAULT_ACTION",
"onRepair": {
"allowChangingZone": "YES"
}
}
...
אם השבתתם את התיקונים ואתם רוצים להפעיל אותם שוב, תוכלו לעיין במאמר בנושא הפעלה של תיקונים או תיקון תוכנה אוטומטי (autohealing).
צפייה בפעולות היסטוריות של תיקון אוטומטי
אם הגדרתם תיקון אוטומטי, תוכלו לראות אירועים קודמים של תיקון אוטומטי.
מעקב אחרי עדכונים בהדרגה (rolling)
אם התחלתם עדכון בהדרגה (rolling) ואתם רוצים לדעת מתי הוא יסתיים, תוכלו לקרוא את המאמר בנושא מעקב אחרי עדכונים.
צפייה בהגדרה עם שמירת מצב
אם הגדרתם MIG עם שמירת מצב ואתם רוצים לבדוק את ההגדרה, תוכלו לעיין במאמר בנושא הצגת הגדרות של MIG עם שמירת מצב.
איך צופים בסטטוס של פרוסת TPU
כשיוצרים MIG עם מכונות וירטואליות של TPU או מגדילים את הגודל של ה-MIG, ה-MIG יוצר מכונות וירטואליות של TPU במצב PENDING. כשהקיבולת הופכת לזמינה ותואמת להגדרת מדיניות עומס העבודה, מכונות ה-VM עוברות דרך הסטטוסים PROVISIONING ו-STAGING לפני שהן מגיעות לסטטוס RUNNING. המעבר הזה יכול לקחת זמן, בהתאם למספר המקרים בקבוצה.
כדי לעקוב אחרי ההתקדמות של יצירת הפרוסה, אפשר להציג את הסטטוס של מכונות וירטואליות של TPU ואת הטופולוגיה באמצעות השדות הבאים בפרטי ה-MIG.
בשדה
currentInstanceStatusesמוצג מספר המופעים בכל מצב של מחזור החיים של המופע. רשימת מצבי מחזור החיים זמינה במאמר בנושא מחזור החיים של מכונות VM.כדי לראות את המצב של מופע ספציפי, אפשר לעיין במאמר בנושא הצגת רשימה של מופעים מנוהלים של MIG.
בשדה
appliedAcceleratorTopologiesמוצג המצב של יצירת הפרוסה. במאמר הזה, בקטע מצבי טופולוגיה של מאיץ, מפורטת רשימה של ערכים תקינים לשדה הזה.
כדי לראות את השדות currentInstanceStatuses ו-appliedAcceleratorTopologies, אפשר להשתמש באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בוחרים את השם של קבוצת ה-MIG. נפתח דף עם המאפיינים של קבוצת המופעים ורשימה של המופעים שנכללים בקבוצה.
בוחרים בכרטיסייה פרטים כדי לראות את ההגדרה של הקבוצה.
gcloud
כדי לראות את הסטטוס של חלוקת TPU, משתמשים בפקודה gcloud compute instance-groups managed describe.
בפלט, מחפשים את השדות currentInstanceStatuses ו-acceleratorTopologyState.
כדי ליצור קבוצת MIG אזורית, מריצים את הפקודה הבאה:
gcloud compute instance-groups managed describe MIG_NAME \ --zone=ZONEכדי ליצור קבוצת MIG אזורית, מריצים את הפקודה הבאה:
gcloud compute instance-groups managed describe MIG_NAME \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת ה-MIG. -
ZONE: האזור שבו קיימת קבוצת ה-MIG. -
REGION: האזור שבו קיימת קבוצת ה-MIG.
REST
כדי לראות את הסטטוס של TPU slice, שולחים בקשת GET באחת מהשיטות הבאות:
ב-MIG אזורי, משתמשים בשיטה
instanceGroupManagers.getבאופן הבא:GET https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/zones/<var>ZONE</var>/instanceGroupManagers/<var>MIG_NAME</var>ל-MIG אזורי, משתמשים בשיטה
regionInstanceGroupManagers.get.GET https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/regions/<var>REGION</var>/instanceGroupManagers/<var>MIG_NAME</var>
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: האזור שבו קיימת קבוצת ה-MIG. -
REGION: האזור שבו קיימת קבוצת ה-MIG. -
MIG_NAME: השם של קבוצת ה-MIG.
פלט לדוגמה
הפלט אמור להיראות כך:
{
...
"name": "example-mig",
...
"currentActions": {
"none": 0,
"creating": 2,
"creatingWithoutRetries": 0,
"verifying": 0,
"recreating": 0,
"deleting": 0,
"abandoning": 0,
"restarting": 0,
"refreshing": 0,
"suspending": 0,
"resuming": 0,
"stopping": 0,
"starting": 0
},
...
"bulkInstanceOperation": {
"inProgress": true,
"lastProgressCheck": {
"error": {
"errors": [
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "Waiting for resources. Currently there are not enough resources available to fulfill the request."
}
]
},
"timestamp": "2026-03-18T18:35:32.720925Z"
}
},
"appliedAcceleratorTopologies": [
{
"state": "ACTIVATING"
}
],
"currentInstanceStatuses": {
"pending": 2
},
"targetSize": 2,
"targetSizePolicy": {
"mode": "BULK"
},
...
}
אם בשדה bulkInstanceOperation.lastProgressCheck.error מופיעה השגיאה ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS, המשמעות היא שאין מספיק משאבי TPU זמינים באזור כדי ליצור את הפרוסה, וקבוצת ה-MIG ממתינה עד שמשאבים יהיו זמינים.
מצבי טופולוגיה של מאיץ
השדה acceleratorTopologyState מציין את הסטטוס הנוכחי של חלוקת ה-TPU. הערכים האפשריים:
| מדינה | תיאור |
|---|---|
INCOMPLETE |
הפלח עוד לא נוצר. גודל היעד של ה-MIG הוא 0. |
ACTIVATING |
הפלח נוצר. קבוצת ה-MIG מספקת את המופעים ומפעילה את הקישוריות בין השבבים. גודל היעד של ה-MIG שווה לגודל הפרוסה. |
ACTIVE |
הפרוסה פועלת באופן מלא. ל-MIG יש את המספר הנדרש של מופעים במצב RUNNING. |
REACTIVATING |
הפרוסה נכשלה בגלל בעיה במארח או בחיבור בין השבבים. Compute Engine מנסה להפעיל מחדש את טופולוגיית המאיץ. גודל ה-MIG הוא גודל הפרוסה וכל המופעים נמצאים במצב REPAIRING. |
DEACTIVATING |
הפרוסה עוברת דפורמציה כי Compute Engine מבטל את ההקצאה של המכונות. הגודל של קבוצת ה-MIG נקבע כ-0, ולפחות מופע אחד נמצא במצב STOPPING, STOPPED או TERMINATED. |
FAILED |
הפילוח נכשל. המצב הזה מתרחש בתרחישים הבאים:
0 ואז להגדיל אותו. |
הצגת פרטים על מכונות וירטואליות מנוהלות בתוך קבוצת מופעים מנוהלת (MIG)
בקטע הזה מוסבר איך לראות פרטים שונים על מופעים מנוהלים ב-MIG.
הצגת רשימה של מופעי מכונה מנוהלים בקבוצת MIG
כדי לראות רשימה של המכונות המנוהלות בקבוצה, כולל המצבים והתבניות שלהן, משתמשים במסוף, ב-ה-CLI של gcloud או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו ברשימה בדף. בדף מופיעה גם רשימה של קבוצות של מופעים לא מנוהלים.
בעמודה שם ברשימה, לוחצים על השם של קבוצת ה-MIG שרוצים לבדוק. נפתח דף עם מאפייני ה-MIG ורשימה של מופעים שנכללים בקבוצה.
gcloud
משתמשים בפקודת המשנה list-instances של ה-CLI של gcloud.
gcloud compute instance-groups managed list-instances instance-group \
[--zone zone | --region region]
הפקודה מחזירה רשימה של מכונות והפרטים שלהן, כולל הסטטוס הנוכחי, תבנית של הגדרות מכונה והשגיאה האחרונה.
זו דוגמה לפלט:
NAME: example-mig-cmx0
ZONE: us-central1-a
STATUS: RUNNING
HEALTH_STATE:
ACTION: NONE
INSTANCE_TEMPLATE: example-instance-template
VERSION_NAME:
LAST_ERROR:
NAME: example-mig-qdwq
ZONE: us-central1-b
STATUS: PENDING
HEALTH_STATE:
ACTION: CREATING
INSTANCE_TEMPLATE: example-instance-template
VERSION_NAME:
LAST_ERROR: Error ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Waiting for resources. Currently there are not enough resources available to fulfill the request.
...
אם המופעים במצב PENDING עם שגיאה ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS, המשמעות היא שהם ממתינים להקצאת משאבים.
REST
במקרה של MIG אזורי, צריך ליצור בקשת GET ל-method instanceGroupManagers.listManagedInstances ולכלול את שם ה-MIG:
GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group
ל-MIG אזורי (עם כמה אזורים), משתמשים בשיטה regionInstanceGroupManagers.listManagedInstances.
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group
התשובה כוללת רשימה של מכונות והפרטים שלהן, כולל הסטטוס הנוכחי ותבנית של הגדרות מכונה.
זוהי דוגמה לתשובה:
{
"managedInstances": [
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-mig-cmx0",
"instanceStatus": "RUNNING",
"currentAction": "NONE",
"id": "2605978238927153426",
"version": {
"instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-instance-template"
},
"name": "example-mig-cmx0"
},
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-b/instances/example-mig-qdwq",
"instanceStatus": "PENDING",
"currentAction": "CREATING",
"lastAttempt": {
"errors": {
"errors": [
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "Waiting for resources. Currently there are not enough resources available to fulfill the request."
}
]
}
}
"id": "334721596325800210",
"version": {
"instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-instance-template"
},
"name": "example-mig-qdwq"
}
]
}
אם המופעים במצב PENDING עם שגיאה ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS, המשמעות היא שהם ממתינים להקצאת משאבים.
בדיקת הסטטוס של מופעים מנוהלים
כשיוצרים, מוחקים או משנים מופעים ב-MIG, הפעולה מחזירה סטטוס DONE אחרי שהקבוצה מתזמנת את הפעולות. הסטטוס DONE לא מציין שהמופעים נוצרו, נמחקו או עודכנו באופן מלא. כדי לוודא מה המצב בפועל של המופעים, צריך לבדוק את הסטטוס שלהם או את הסטטוס של הקבוצה.
כדי לראות פרטים על מופעים ב-MIG, כולל הסטטוס שלהם ופעולות שמתבצעות כרגע על ידי הקבוצה, משתמשים ב-Google Cloud CLI או ב-REST.
gcloud
כל המקרים המנוהלים
כדי לבדוק את הסטטוס ואת הפעולות הנוכחיות בכל המכונות בקבוצה, משתמשים בפקודה list-instances.
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \
[--zone=ZONE | --region=REGION]הפקודה מחזירה רשימה של מופעים בקבוצה, כולל הסטטוס שלהם, הפעולות הנוכחיות ופרטים אחרים:
NAME: vm-instances-9pk4 ZONE: us-central1-f STATUS: HEALTH_STATE: ACTION: CREATING INSTANCE_TEMPLATE: my-new-template VERSION_NAME: LAST_ERROR: NAME: vm-instances-h2r1 ZONE: us-central1-f STATUS: STOPPING HEALTH_STATE: ACTION: DELETING INSTANCE_TEMPLATE: my-old-template VERSION_NAME: LAST_ERROR:
העמודה HEALTH_STATE תופיע ריקה אלא אם הגדרתם בדיקות תקינות.
מופע מנוהל ספציפי
כדי לבדוק את הסטטוס ואת הפעולה הנוכחית של מכונה ספציפית בקבוצה, משתמשים בפקודה describe-instance.
gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
--instance INSTANCE_NAME \
[--zone=ZONE | --region=REGION]הפקודה מחזירה פרטים על המופע, כולל סטטוס המופע, הפעולה הנוכחית, ובמקרה של קבוצות מנוהלות עם שמירת מצב, המצב שנשמר:
currentAction: NONE
id: '6789072894767812345'
instance: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-mig-hz41
instanceStatus: RUNNING
name: example-mig-hz41
preservedStateFromConfig:
metadata:
example-key: example-value
preservedStateFromPolicy:
disks:
persistent-disk-0:
autoDelete: NEVER
mode: READ_WRITE
source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/disks/example-mig-hz41
version:
instanceTemplate: https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template
REST
מבצעים קריאה ל-listManagedInstances במשאב MIG אזורי או אזורי. לדוגמה, כדי לראות פרטים על המכונות במשאב MIG אזורי, אפשר לשלוח את הבקשה הבאה:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/listManagedInstances
השיחה מחזירה רשימה של מופעים עבור ה-MIG, כולל instanceStatus ו-currentAction של כל מופע.
{
"managedInstances": [
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/vm-instances-prvp",
"instanceStatus": "RUNNING",
"currentAction": "REFRESHING",
"id": "5317605642920955957",
"version": {
instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template"
},
"name": "vm-instances-prvp"
},
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/vm-instances-w2t5",
"instanceStatus": "RUNNING",
"currentAction": "REFRESHING",
"id": "2800161036826218547",
"version": {
"instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template"
},
"name": "vm-instances-w2t5"
}
]
}
אם הגדרתם בדיקות תקינות, התשובה תכלול גם את השדה instanceHealth.
רשימה של ערכים תקינים בשדה instanceStatus זמינה במאמר מחזור החיים של מכונות VM.
אם מתבצע שינוי כלשהו במופע, ה-MIG מגדיר את השדה currentAction של המופע לאחת מהפעולות הבאות כדי לעזור לכם לעקוב אחרי התקדמות השינוי. אחרת, השדה currentAction מוגדר ל-NONE.
הערכים האפשריים של currentAction הם:
-
ABANDONING. המופע מוסר מקבוצת ה-MIG. -
CREATING. המכונה בתהליך יצירה. -
CREATING_WITHOUT_RETRIES. המופע נוצר ללא ניסיונות חוזרים. אם המופע לא נוצר בניסיון הראשון, ה-MIG לא מנסה להחליף את המופע שוב. -
DELETING. המכונה נמצאת בתהליך מחיקה. RECREATING. המופע מוחלף.-
REFRESHING. המופע מוסר ממאגרי היעדים הנוכחיים שלו ומתווסף מחדש לרשימת מאגרי היעדים הנוכחיים (הרשימה הזו יכולה להיות זהה למאגרי היעדים הקיימים או שונה מהם). -
RESTARTING. המכונה נמצאת בתהליך של הפעלה מחדש באמצעות השיטותstopו-start. -
RESUMING. המופע נמצא בתהליך של הפעלה מחדש אחרי שהושעה. -
STARTING. המופע בתהליך של הפעלה אחרי שהוא הופסק. -
STOPPING. המכונה מופסקת. SUSPENDING. המכונה מושעית.-
VERIFYING. המופע נוצר ועובר תהליך אימות. -
NONE. לא מתבצעות פעולות במופע.
כדי לבדוק אם הקבוצה יציבה או עוברת שינויים, אפשר לעיין במאמר בנושא בדיקת הסטטוס של הקבוצה.
בדיקת מצבי התקינות
אם הגדרתם תיקון אוטומטי לקבוצת ה-MIG, תוכלו לבדוק את מצב התקינות של כל מכונה וירטואלית. איך בודקים את סטטוס התקינות
הצגת רשימה של שגיאות במכונות
אם נתקלתם בשגיאות במופעים המנוהלים, תוכלו להציג את השגיאות האלה כדי לאבחן את הסיבה ולצמצם את ההשפעה שלה.
אפשר להשתמש במסוף Cloud de Confiance , ב-CLI של gcloud או ב-REST כדי להציג רשימה של שגיאות.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
בעמודה שם ברשימה, לוחצים על השם של קבוצת ה-MIG שרוצים לבדוק. נפתח דף עם מאפייני ה-MIG ורשימה של מופעים שנכללים בקבוצה.
לוחצים על שגיאות.
gcloud
משתמשים בפקודה instance-groups managed list-errors כדי להציג את השגיאות האחרונות בקבוצה
gcloud compute instance-groups managed list-errors instance-group-name \
[--zone zone | --region region]לדוגמה:
gcloud compute instance-groups managed list-errors example-group \
--region us-west1INSTANCE_URL ACTION ERROR_CODE ERROR_MESSAGE TIMESTAMP INSTANCE_TEMPLATE VERSION_NAME https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/igm-1-v0hl CREATING QUOTA_EXCEEDED Instance 'igm-1-v0hl' creation failed: Quota 'CPUS' exceeded. Limit: 1.0 in zone us-central1-a. 2019-07-11T07:44:40.156-07:00 https://www.googleapis.com/compute/v1/projects/my-project/global/instanceTemplates/instance-template-1 https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/igm-1-qp3d CREATING QUOTA_EXCEEDED Instance 'igm-1-qp3d' creation failed: Quota 'CPUS' exceeded. Limit: 1.0 in zone us-central1-a. 2019-07-11T07:44:40.081-07:00 https://www.googleapis.com/compute/v1/projects/my-project/global/instanceTemplates/instance-template-1 ...
REST
יוצרים בקשת GET ל-method listErrors עבור MIG אזורי או MIG אזורי.
לדוגמה:
GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/listErrors&maxResults=100
התגובה לבקשה תיראה כך:
{
"items": [
{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "Instance 'example-mig-m1sz' creation failed: Quota 'CPUS' exceeded. Limit: 50.0 in zone us-central1-c."
},
"timestamp": "2019-01-03T18:47:28.457-08:00",
"instanceDetails" : {
"instance": "zones/us-central1-c/instances/example-mig-m1sz",
"action": "CREATING",
"version": {
"name": "example-version-name",
"instanceTemplate": "global/instanceTemplates/example-template",
}
}
}
],
...
"nextPageToken": "Ch0yMDE5LTA3LTI5VDExOjA4OjA2LjYxMi0wNzowMBJ5aHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY29tcHV0ZS9zdGFnaW5nX2FscGhhL3Byb2plY3RzL215cnpha2VyZXltcy1zdGFnaW5nL3pvbmVzL3VzLWNlbnRyYWwxLWlyMS9pbnN0YW5jZXMvaWdtLTEtcXAzZA=="
}
listErrors API תומך בחלוקה לדפים של רשימות.
כדי לקבל את דף התוצאות הבא, משתמשים בשדה nextPageToken מתגובה אחת בבקשה הבאה. לדוגמה:
GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/listErrors&maxResults=100&nextPageToken=next-page-token,
מחליפים את next-page-token בטוקן שהתקבל מהתגובה הקודמת.
רשימת השגיאות האפשריות כוללת, בין היתר, את הדוגמאות הבאות:
- אי אפשר ליצור מכונה חדשה בגלל:
- הקיבולת שניתן לקטוע לא זמינה.
- מכסה לא מספיקה, למשל למעבדים באזור מסוים.
- הגעתם למגבלה על מספר מכונות ה-VM ברשת שמשויכת לקבוצה.
- תמונת הדיסק שצוינה בשדה
properties.disks[].initializeParams.sourceImageבתבנית המופע נמחקה, או שההרשאות שלה השתנו. - כרטיס האשראי בחשבון לחיוב שמשויך לפרויקט דחה תשלום.
- אי אפשר למחוק מופע קיים כי:
- לחשבון השירות שבו הקבוצה משתמשת אין הרשאה
compute.instances.delete. - הוגשו יותר מדי בקשות מחיקה בו-זמנית, מעבר למגבלות הקצב.
- לחשבון השירות שבו הקבוצה משתמשת אין הרשאה
- אי אפשר להוסיף מופע למאגר יעד כי מאגר היעד נמחק.
אחרי שבודקים את השגיאות האלה, אפשר לצמצם אותן. לדוגמה:
- מעבירים את עומס העבודה לאזור אחר שיש בו קיבולת שניתנת להפסקת פעולה.
- שליחת בקשה להגדלת המכסה באזור מסוים.
- מוסיפים את ההרשאה
compute.instances.deleteלחשבון השירות שבו משתמשת הקבוצה.
אם פעולה שמופעלת על ידי קבוצת מופעי מכונה מנוהלים (MIG) נכשלת (לדוגמה, אם מנגנון לשינוי גודל אוטומטי נתקל בשגיאה בניסיון להגדיל את גודל הקבוצה), יכול להיות שהקבוצה תנסה לבצע את הפעולה הזו שוב באופן מיידי. אם ניסיון החזרה המיידי האחרון נכשל, ה-MIG מתעד את השגיאה, ואפשר לראות את השגיאה על ידי הצגת שגיאות של מופעים. אחרי תקופת השהיה לפני ניסיון חוזר (backoff), הקבוצה מנסה שוב לבצע את הפעולה שנכשלה. אם השגיאה נמשכת, יכול להיות שהיא תתועד כמה פעמים.
Compute Engine שומר את 500 השגיאות האחרונות מ-8 הימים האחרונים, גם אם המופעים הבסיסיים כבר לא קיימים או שלא ניתן היה ליצור אותם.
בדיקה אם מכונה וירטואלית היא חלק מקבוצת מופעי מכונה מנוהלים
כדי לבדוק אם מכונה וירטואלית ספציפית היא חברה בקבוצה, אפשר להשתמש במסוף או ב-REST.
המסוף
- נכנסים לדף VM instances במסוף Cloud de Confiance .
- לוחצים על מופע כדי לגשת לפרטי מופע ה-VM.
- אם מכונת ה-VM היא חברה בקבוצת MIG, השם של קבוצת ה-MIG הזו יופיע מתחת לכותרת בשימוש על ידי. אם מופעלת מכונה וירטואלית שלא שייכת לקבוצה, הכותרת בשימוש על ידי לא מופיעה בדף הפרטים של המכונה.
REST
לחלופין, כדי לזהות אם מכונה וירטואלית היא או הייתה חברה בקבוצת MIG, מחפשים את שני מפתחות המטא-נתונים האלה במטא-נתונים של המכונה:
-
instance-templateמציין את התבנית שממנה נוצרה המכונה הווירטואלית. -
created-byמציין את קבוצת ה-MIG שיצרה את מכונת ה-VM.
גם אם מבטלים את המופע, ערכי המטא-נתונים האלה עדיין יהיו במכונה הווירטואלית, אלא אם מסירים אותם באופן ידני.
לדוגמה, אם יש מכונה וירטואלית בשם random-instance-biy ואתם רוצים לדעת אם היא נוצרה על ידי קבוצת מופעים מנוהלת, אתם יכולים לתאר את המופע ולחפש את מפתחות המטא-נתונים. לדוגמה:
gcloud compute instances describe random-instance-biy \
--zone us-central1-f
ה-CLI של gcloud מחזיר תגובה שדומה לזו:
canIpForward: false
cpuPlatform: Intel Ivy Bridge
creationTimestamp: '2016-08-24T14:11:38.012-07:00'
...
metadata:
items:
- key: instance-template
value: projects/123456789012/global/instanceTemplates/example-it
- key: created-by
value: projects/123456789012/zones/us-central1-f/instanceGroupManagers/igm-metadata
הצגת המצב שנשמר של מופע מנוהל
אם הגדרתם MIG עם שמירת מצב ואתם רוצים לראות את המצב שנשמר של כל מכונה מנוהלת, תוכלו לעיין במאמר הצגת ההגדרה עם שמירת מצב והמצב שנשמר.