בדף הזה מוסבר איך להשתמש בשיטות שונות כדי לראות מידע על קבוצות של מופעי מכונה מנוהלים (MIG) ועל המכונות הווירטואליות (VM) בכל קבוצת MIG.
לפני שמתחילים
- בודקים את המגבלות ואז יוצרים קבוצה.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
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)
אפשר לאחזר מידע על הקבוצות עצמן, למשל כדי לבדוק את המדיניות שמצורפת לקבוצה, או כדי לראות אם הקבוצה יציבה או עוברת שינויים. מידע על מכונות וירטואליות ב-MIG זמין במאמר הצגת מידע על מופעים מנוהלים.
רשימת קבוצות MIG
כדי לקבל רשימה של קבוצות ה-MIG, משתמשים במסוף, ב-CLI של gcloud או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו בדף, כולל קבוצות MIG וקבוצות מופעים לא מנוהלות.
בעמודה סוג הקבוצה מצוין אם הקבוצה מנוהלת, עם שמירת מצב או לא מנוהלת. סוגי הקבוצות עם שמירת מצב הם גם קבוצות של מכונות מנוהלות.
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
ל-MIG אזורי, מבצעים קריאה ל-method regionInstanceGroupManagers.list.
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers
הצגת המאפיינים של MIG
כדי לראות מידע על קבוצת MIG ספציפית, כולל המדיניות שלה (לדוגמה, מדיניות התיקון האוטומטי והעדכון של הקבוצה), משתמשים במסוף, ב-ה-CLI של gcloud או ב-REST.
כדי לראות את הערך של id בקבוצה, צריך להשתמש ב-CLI של gcloud או ב-Compute Engine API.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו ברשימה בדף. בדף מופיעה גם רשימה של קבוצות מופעים לא מנוהלות.
בעמודה Name (שם) ברשימה, לוחצים על השם של ה-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 אזורית, מבצעים קריאה ל-method instanceGroupManagers.get.
ל-MIG אזורי, מבצעים קריאה ל-method regionInstanceGroupManagers.get.
GET https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group
התשובה כוללת פרטים על הקבוצה, כולל מדיניות מצורפת, למעט מדיניות ההרחבה האוטומטית של הקבוצה. התאמה אוטומטית לעומס היא תכונה של קבוצות MIG, אבל היא משאב REST נפרד.
מדיניות בנושא שינוי גודל אוטומטי
אם מצורף לקבוצה משאב של מידרוג אוטומטי, הוא יופיע בשדה status.autoscaler של הקבוצה.
כדי לקבל מידע על קנה המידה האוטומטי, צריך להפעיל את השיטה autoscalers.get עבור MIG אזורי או את השיטה regionAutoscalers.get עבור MIG אזורי. כתובת ה-URL של משאב ה-Autoscaler כוללת את השם שלו, שהוא כברירת מחדל השם של הקבוצה שאליה מצורף ה-Autoscaler. לדוגמה, אפשר לשלוח את הבקשה הבאה לשינוי של קנה מידה אוטומטי של קבוצת 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.
- משאב autohealer מחליף מופע אחד או יותר לא תקינים בקבוצת ה-MIG.
- ב-MIG אזורי, חלק מהמופעים מופצים מחדש.
ברגע שכל הפעולות יסתיימו, הערך של status.isStable ישתנה שוב ל-true עבור ה-MIG הזה.
לגבי מכונות וירטואליות ספציפיות, אפשר לקרוא את המאמר בנושא בדיקת הסטטוס של מכונות מנוהלות.
בדיקת הגדרות התיקון ב-MIG
כדי לבדוק את הגדרת התיקון ב-MIG, בוחרים באחת מהאפשרויות הבאות:
המסוף
- נכנסים לדף Instance groups במסוף Google Cloud .
- לוחצים על השם של קבוצת המכונות המנוהלת שרוצים להציג. ייפתח דף עם המאפיינים של ה-MIG ורשימה של מכונות וירטואליות שנמצאות בקבוצה.
- לוחצים על הכרטיסייה פרטים.
בקטע מחזור החיים של מכונת VM, בודקים את הערכים של השדות הבאים:
פעולת ברירת מחדל במקרה של כשל: אם הערך הוא ללא פעולה, תיקונים אוטומטיים של מכונות וירטואליות שנכשלו מושבתים.
במקרה של בדיקת תקינות שנכשלה:
- אם הערך הוא No action (ללא פעולה), התיקון האוטומטי מושבת.
- אם הערך הוא פעולת ברירת מחדל והערך בשדה פעולת ברירת מחדל במקרה של כשל הוא ללא פעולה, אז גם התיקון האוטומטי מושבת.
שינוי אזור במהלך תיקון של מכונת VM: אם האפשרות הזו נבחרה, וכשקבוצת ה-MIG לא מצליחה לתקן מכונת VM באזור המקורי, היא מתקנת את מכונת ה-VM באחד מהאזורים האחרים שנבחרו של קבוצת ה-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:
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:
...
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "NO",
"defaultActionOnFailure": "DO_NOTHING",
"onFailedHealthCheck": "DEFAULT_ACTION",
"onRepair": {
"allowChangingZone": "YES"
}
}
...
אם השבתתם את התיקונים ואתם רוצים להפעיל אותם שוב, תוכלו לעיין במאמר בנושא הפעלה של תיקונים או תיקון תוכנה אוטומטי (autohealing).
צפייה בפעולות היסטוריות של תיקון אוטומטי
אם הגדרתם תיקון אוטומטי, תוכלו לראות אירועים קודמים של תיקון אוטומטי.
מעקב אחרי עדכונים בהדרגה (rolling)
אם התחלתם עדכון הדרגתי ואתם רוצים לדעת מתי הוא יסתיים, תוכלו לקרוא את המאמר בנושא מעקב אחרי עדכונים.
צפייה בהגדרה עם שמירת מצב
אם הגדרתם MIG עם שמירת מצב ואתם רוצים לבדוק את ההגדרה, תוכלו לעיין במאמר בנושא הצגת הגדרות של MIG עם שמירת מצב.
הצגת הסטטוס של פרוסת TPU
כשיוצרים MIG עם מכונות וירטואליות של TPU או מגדילים את הגודל של ה-MIG, ה-MIG יוצר מכונות וירטואליות של TPU במצב PENDING. כשהקיבולת הופכת לזמינה ותואמת להגדרת מדיניות עומס העבודה, מכונות ה-VM עוברות דרך הסטטוסים PROVISIONING ו-STAGING לפני שהן מגיעות לסטטוס RUNNING. המעבר הזה יכול לקחת זמן, בהתאם למספר המקרים בקבוצה.
כדי לעקוב אחרי ההתקדמות של יצירת הפרוסה, אפשר להציג את הסטטוס של מכונות וירטואליות של TPU ואת הטופולוגיה באמצעות השדות הבאים בפרטי ה-MIG.
בשדה
currentInstanceStatusesמוצג מספר המופעים בכל מצב של מחזור החיים של המופע. במאמר בנושא מחזור החיים של מכונות VM מפורטת רשימה של מצבי מחזור החיים.כדי לראות את הסטטוס של מופע ספציפי, אפשר לעיין במאמר בנושא הצגת רשימה של מופעים מנוהלים של MIG.
בשדה
appliedAcceleratorTopologiesמוצג מצב יצירת הפרוסה. רשימה של הערכים התקינים בשדה הזה מופיעה במאמר הזה בקטע מצבי טופולוגיה של מאיץ.
כדי לראות את השדות currentInstanceStatuses ו-appliedAcceleratorTopologies, אפשר לבחור באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
בוחרים את השם של קבוצת ה-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, שולחים בקשת 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>בשביל קבוצות אזוריות של מכונות וירטואליות, משתמשים ב-method
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 slice. הערך יכול להיות אחד מהערכים הבאים:
| מדינה | תיאור |
|---|---|
INCOMPLETE |
הפלח עוד לא נוצר. גודל היעד של ה-MIG הוא
0. |
ACTIVATING |
הפלח נוצר. ה-MIG מקצה את המופעים ומפעיל את הקישוריות בין השבבים (ICI). גודל היעד של ה-MIG שווה לגודל הפרוסה. |
ACTIVE |
הפרוסה פועלת באופן מלא. ל-MIG יש את המספר הנדרש של מופעים במצב RUNNING. |
REACTIVATING |
הפרוסה נכשלה בגלל בעיה במארח או בחיבור בין השבבים (ICI). Compute Engine מנסה להפעיל מחדש את טופולוגיית המאיץ. גודל ה-MIG הוא גודל הפרוסה וכל המופעים נמצאים במצב REPAIRING. מידע נוסף על שחזור במקרה של כשל זמין במאמר זמינות של פרוסות ושחזור במקרה של כשל. |
DEACTIVATING |
הפרוסה עוברת דפורמציה כי Compute Engine מבטל את ההקצאה של המכונות. הגודל של יעד ה-MIG מוגדר כ-0, ולפחות מופע אחד נמצא במצב STOPPING, STOPPED או TERMINATED. |
FAILED |
החלוקה נכשלה בגלל אחד מהתנאים הבאים בהתאם למודל ההקצאה או למצב ההזמנה שבהם נעשה שימוש.
אם הפרוסה עוברת למצב
|
הצגת פרטים על מופעי מכונות וירטואליות מנוהלים בקבוצת MIG
בקטע הזה מוסבר איך לראות פרטים שונים על מופעים מנוהלים ב-MIG.
הצגת רשימה של מופעי מכונה מנוהלים בקבוצת MIG
כדי לראות רשימה של המכונות המנוהלות בקבוצה, כולל המצבים והתבניות שלהן, משתמשים במסוף, ב-ה-CLI של gcloud או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
אם יש לכם קבוצות מופעים קיימות, הן יופיעו ברשימה בדף. בדף מופיעה גם רשימה של קבוצות מופעים לא מנוהלות.
בעמודה Name (שם) ברשימה, לוחצים על השם של ה-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, תוכלו לבדוק את מצב התקינות של כל מכונה וירטואלית. איך בודקים את סטטוס התקינות
רשימת שגיאות של מופעים
אם נתקלתם בשגיאות במופעים המנוהלים, תוכלו להציג את השגיאות האלה כדי לאבחן את הסיבה ולצמצם את ההשפעה שלה.
אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud או ב-REST כדי להציג רשימה של שגיאות.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
בעמודה Name (שם) ברשימה, לוחצים על השם של ה-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 לשיטה 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 בטוקן שהתקבל מהתגובה הקודמת.
רשימת השגיאות האפשריות כוללת, בין היתר, את הדוגמאות הבאות:
- אי אפשר ליצור מופע חדש בגלל:
- הקיבולת שניתן לקטוע לא זמינה.
- מכסה לא מספיקה, למשל למעבדים (CPU) באזור מסוים.
- הגעתם למגבלה על מספר המכונות הווירטואליות ברשת שמשויכת לקבוצה.
- תמונת הדיסק שצוינה בשדה
properties.disks[].initializeParams.sourceImageבתבנית המופע נמחקה, או שההרשאות שלה השתנו. - כרטיס האשראי בחשבון לחיוב שמשויך לפרויקט דחה תשלום.
- אי אפשר למחוק מופע קיים כי:
- לחשבון השירות שבו הקבוצה משתמשת אין הרשאה
compute.instances.delete. - התבקשו יותר מדי מחיקות בו-זמנית, מעבר למגבלות הקצב.
- לחשבון השירות שבו הקבוצה משתמשת אין הרשאה
- אי אפשר להוסיף מופע למאגר יעד כי מאגר היעד נמחק.
אחרי שבודקים את השגיאות האלה, אפשר לצמצם אותן. לדוגמה:
- מעבירים את עומס העבודה לאזור אחר שיש בו קיבולת שניתנת להפסקת פעולה.
- שליחת בקשה להגדלת המכסה באזור מסוים.
- מוסיפים את ההרשאה
compute.instances.deleteלחשבון השירות שבו משתמשת הקבוצה.
אם פעולה שמופעלת על ידי קבוצת מופעי מכונה מנוהלים (MIG) נכשלת (לדוגמה, אם מנגנון לשינוי גודל קבוצה באופן אוטומטי נתקל בשגיאה בניסיון להגדיל את גודל הקבוצה), יכול להיות שהקבוצה תנסה לבצע את הפעולה הזו שוב באופן מיידי. אם ניסיון החזרה המיידי האחרון נכשל, ה-MIG מתעד את השגיאה, ואפשר לראות את השגיאה על ידי הצגת שגיאות של מופעים. אחרי תקופת השהיה לפני ניסיון חוזר (backoff), הקבוצה מנסה שוב לבצע את הפעולה שנכשלה. אם השגיאה נמשכת, יכול להיות שהיא תתועד כמה פעמים.
Compute Engine שומר את 500 השגיאות האחרונות מ-8 הימים האחרונים, גם אם המופעים הבסיסיים כבר לא קיימים או שלא הייתה אפשרות ליצור אותם.
בדיקה אם מכונה וירטואלית היא חלק מקבוצת מופעי מכונה מנוהלים (MIG)
כדי לבדוק אם מכונה וירטואלית ספציפית היא חברה בקבוצה, אפשר להשתמש במסוף או ב-REST.
המסוף
- נכנסים לדף VM instances במסוף Google Cloud .
- לוחצים על מופע כדי לגשת לפרטי מופע של מכונה וירטואלית.
- אם מכונת ה-VM היא חלק מקבוצת MIG, השם של קבוצת ה-MIG מופיע בכותרת In use by. אם מופעלת מכונה וירטואלית שלא שייכת לקבוצה, הכותרת בשימוש על ידי לא מופיעה בדף הפרטים של המכונה.
REST
אפשר גם לבדוק אם מכונה וירטואלית היא או הייתה חלק מקבוצת MIG. לשם כך, מחפשים את שני מפתחות המטא-נתונים הבאים במטא-נתונים של המכונה:
-
instance-templateמציין את התבנית שממנה נוצרה המכונה הווירטואלית. -
created-byמציין את קבוצת ה-MIG שיצרה את מכונת ה-VM.
גם אם תבטלו את המופע, רשומות המטא-נתונים האלה עדיין יהיו במכונה הווירטואלית, אלא אם תסירו אותן ידנית.
לדוגמה, אם יש מכונה וירטואלית בשם random-instance-biy ואתם רוצים לדעת אם היא נוצרה על ידי MIG, אתם יכולים לתאר את המופע ולחפש את מפתחות המטא-נתונים. לדוגמה:
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 עם שמירת מצב ואתם רוצים לראות את המצב שנשמר של כל מכונה מנוהלת, תוכלו לעיין במאמר הצגת ההגדרה עם שמירת מצב והמצב שנשמר.
המאמרים הבאים
- מידע נוסף על קבוצות של מכונות מנוהלות
- יוצרים תבנית של הגדרות מכונה שאפשר להשתמש בה כדי ליצור קבוצת מופעי מכונה מנוהלים (MIG).