הצגה, ביטול או מחיקה של בקשות לשינוי גודל ב-MIG

במאמר הזה מוסבר איך לבצע את הפעולות הבאות אחרי יצירת בקשה לשינוי גודל בקבוצת מופעי מכונה מנוהלים (MIG):

  • אפשר לראות את הבקשות לשינוי גודל כדי לעקוב אחרי הסטטוס שלהן או לפתור בעיות שקשורות אליהן.

  • כדי למנוע את יצירת מספר המכונות הווירטואליות (VM) המבוקש על ידי קבוצת ה-MIG, צריך לבטל את הבקשות לשינוי הגודל.

  • למחוק בקשות לשינוי גודל כשאין בהן יותר צורך.

לפני שמתחילים

  • אם עדיין לא עשיתם זאת, כדאי לעיין במאמר איך מתבצעות בקשות לשינוי גודל.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

    gcloud

    1. התקינו את ה-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, נדרשות ההרשאות הבאות:

  • כדי לבטל או למחוק בקשות לשינוי גודל בקבוצת MIG: compute.instanceGroupManagers.update
  • כדי לראות רשימה של בקשות לשינוי גודל ב-MIG: compute.instanceGroupManagers.list
  • כדי לראות את הפרטים של בקשה לשינוי גודל: compute.instanceGroupManagers.get

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

הצגת בקשות לשינוי גודל

כדי לראות מידע על בקשות לשינוי גודל בקבוצת MIG, משתמשים באחת מהשיטות הבאות:

הצגת רשימה של בקשות לשינוי גודל בקבוצת MIG

כדי לראות רשימה של כל הבקשות לשינוי גודל בקבוצת MIG, בוחרים באחת מהאפשרויות הבאות:

כדי לראות רשימה של כל הבקשות לשינוי גודל ב-MIG אזורי, משתמשים ב-CLI של gcloud או ב-API בארכיטקטורת REST. אחרת, כדי לראות רשימה של כל בקשות השינוי של גודל ה-MIG האזורי, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. בעמודה Name (שם), לוחצים על השם של ה-MIG שמכיל בקשות לשינוי גודל.

    ייפתח דף הסקירה הכללית של ה-MIG.

  3. בשורה Resize requests לוחצים על Edit resize requests.

    החלונית Resize requests מופיעה. אם בעמודה פרטים של בקשה לשינוי גודל מופיע הערך חריגה מהמכסה או זמן משוער להשלמה: לא מוגדר, סימן שהבקשה נתקלה בשגיאה. אפשר ללחוץ על הערכים האלה כדי לקבל מידע נוסף.

    מידע נוסף על פתרון בעיות בשגיאות מופיע במאמר הצגת הפרטים של בקשה לשינוי גודל במסמך הזה.

gcloud

כדי לראות רשימה של בקשות לשינוי גודל בקבוצת MIG, משתמשים בפקודה instance-groups managed resize-requests list.

  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests list MIG_NAME \
        --zone=ZONE
    
  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests list MIG_NAME \
        --region=REGION
    

מחליפים את מה שכתוב בשדות הבאים:

  • MIG_NAME: השם של קבוצת מופעים מנוהלת עם בקשות לשינוי גודל שאושרו, הצליחו, בוטלו או נכשלו.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

הפלט של MIG אזורי אמור להיראות כך:

NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D

NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D

REST

  • כדי לראות רשימה של בקשות לשינוי גודל ב-MIG אזורי, שולחים בקשת GET באמצעות השיטה instanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
    
  • כדי לראות רשימה של בקשות לשינוי גודל ב-MIG אזורי, שולחים בקשת GET באמצעות השיטה regionInstanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/MIG_NAME/resizeRequests
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת קבוצת ה-MIG עם בקשות לשינוי גודל שהתקבלו, הצליחו, בוטלו או נכשלו.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

  • MIG_NAME: השם של קבוצת MIG קיימת עם בקשות לשינוי גודל שהתקבלו, הצליחו, בוטלו או נכשלו.

הפלט של קבוצת מופעים מנוהלת אזורית דומה לזה:

{
  "kind": "compute#instanceGroupManagerResizeRequestList",
  "id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
  "items": [
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "4247139565532196982",
      "creationTimestamp": "2024-01-08T07:51:53.034-08:00",
      "name": "rr-01",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 5,
      "resizeBy": 5,
      "requestedRunDuration": {
        "seconds": "86400",
        "nanos": 0
      },
      "state": "SUCCEEDED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
    },
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "8095866098849525652",
      "creationTimestamp": "2024-01-11T08:04:11.851-08:00",
      "name": "rr-02",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 10,
      "resizeBy": 10,
      "requestedRunDuration": {
        "seconds": "259200",
        "nanos": 0
      },
      "state": "ACCEPTED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

צפייה בפרטים של בקשה לשינוי גודל

אתם יכולים לראות את הפרטים של בקשה לשינוי גודל כדי לבדוק את ההגדרה שלה, ואם הבקשה עדיין לא הושלמה, אתם יכולים לנסות לפתור את הבעיה.

אם בקשה שאושרה לשינוי גודל לא מצליחה, אפשר לפתור את הבעיה על ידי בדיקת השדה status.lastAttempt.error.errors.code בפרטי הבקשה. אלה קודי השגיאה האפשריים:

  • QUOTA_EXCEEDED: בפרויקט שלכם אין מכסה למשאבים המבוקשים. כדי להגדיל את המכסה של הפרויקט, אפשר לעיין במאמר בנושא בקשה לשינוי המכסות.

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: המשאבים המבוקשים לא זמינים באופן זמני. המערכת של Compute Engine תזמנה את היצירה של המשאבים המבוקשים ותיצור אותם כשהם יהיו זמינים. אם השדה message מכיל Expected time is indefinite, מומלץ לבטל את הבקשה ולנסות אחת או יותר מהאפשרויות הבאות:

כדי לראות את הפרטים של בקשה לשינוי גודל, בוחרים באחת מהאפשרויות הבאות:

gcloud

כדי לראות את הפרטים של בקשת שינוי גודל ב-MIG, משתמשים בפקודה instance-groups managed resize-requests describe.

  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests describe MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --zone=ZONE
    
  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests describe MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --region=REGION
    

מחליפים את מה שכתוב בשדות הבאים:

  • MIG_NAME: השם של קבוצת MIG.

  • RESIZE_REQUEST_NAME: השם של בקשת שינוי גודל שרוצים לראות את הפרטים שלה.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

הפלט של MIG אזורי אמור להיראות כך:

creationTimestamp: '2024-09-23T02:27:09.575-07:00'
id: '6386622402379156098'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '86400'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request. Expected time is indefinite.
        - errorDetails:
          - errorInfo:
            - metadatas:
              - estimatedAvailabilityTime: '9999-12-31T23:59:59.999999999Z'
zone: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a

REST

  • כדי לראות את הפרטים של בקשה לשינוי גודל ב-MIG אזורי, שולחים בקשה באמצעות השיטה instanceGroupManagerResizeRequests.get.GET

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • כדי לראות את הפרטים של בקשה לשינוי גודל ב-MIG אזורי, שולחים בקשת GET באמצעות השיטה regionInstanceGroupManagerResizeRequests.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת קבוצת ה-MIG האזורית.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

  • MIG_NAME: השם של קבוצת ה-MIG שבה נמצאת בקשת השינוי.

  • RESIZE_REQUEST_NAME: השם של בקשת שינוי גודל קיימת שרוצים לראות את הפרטים שלה.

הפלט אמור להיראות כך:

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "6386622402379156098",
  "creationTimestamp": "2024-09-23T02:27:09.575-07:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "86400",
    "nanos": 0
  },
  "state": "SUCCEEDED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          },
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request. Expected time is indefinite.",
            "errorDetails": [
              {
                "errorInfo":{
                  "metadatas":{
                    "estimatedAvailabilityTime": "9999-12-31T23:59:59.999999999Z"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098"
}

ביטול בקשות לשינוי גודל בקבוצת MIG

אפשר לבטל בקשות לשינוי גודל בקבוצת MIG כדי למנוע מקבוצת ה-MIG לנסות ליצור את מספר מכונות ה-VM המבוקש. אפשר לבטל רק בקשות שאושרו (ACCEPTED) לשינוי גודל. אחרי ביטול בקשה לשינוי גודל, אפשר למחוק אותה או לאפשר ל-Compute Engine למחוק אותה באופן אוטומטי אחרי 14 ימים.

כדי לבטל כמה בקשות לשינוי גודל בו-זמנית, משתמשים במסוףGoogle Cloud או ב-Google Cloud CLI. אחרת, כדי לבטל בקשה אחת לשינוי גודל, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. בעמודה Name (שם), לוחצים על השם של ה-MIG שמכיל בקשות לשינוי גודל.

    ייפתח דף הסקירה הכללית של ה-MIG.

  3. בשורה Resize requests לוחצים על Edit resize requests.

    החלונית Resize requests מופיעה.

  4. בוחרים את הבקשות לשינוי גודל שרוצים לבטל.

  5. לוחצים על ביטול ואז על אישור.

gcloud

כדי לבטל בקשות לשינוי גודל בקבוצת MIG, משתמשים בפקודה instance-groups managed resize-requests cancel.

  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests cancel MIG_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --zone=ZONE
    
  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests cancel MIG_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --region=REGION
    

מחליפים את מה שכתוב בשדות הבאים:

  • MIG_NAME: השם של קבוצת מכונות מנוהלת עם בקשות לשינוי גודל שאושרו.

  • RESIZE_REQUEST_NAMES: רשימה מופרדת בפסיקים של שמות של בקשות לשינוי גודל שאושרו ב-MIG הספציפי באזור. לדוגמה, מציינים request-1,request-2.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

REST

  • כדי לבטל בקשה לשינוי גודל של MIG אזורי, שולחים בקשת POST באמצעות השיטה instanceGroupManagerResizeRequests.cancel.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    
  • כדי לבטל בקשה לשינוי גודל של קבוצת MIG אזורית, שולחים בקשת POST באמצעות השיטה regionInstanceGroupManagerResizeRequests.cancel.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת קבוצת MIG אזורית קיימת עם בקשה מאושרת לשינוי גודל.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

  • MIG_NAME: השם של ה-MIG.

  • RESIZE_REQUEST_NAME: השם של בקשת שינוי הגודל שרוצים לבטל.

מחיקת בקשות לשינוי גודל בקבוצת MIG

כברירת מחדל, Compute Engine מוחק באופן אוטומטי בקשה לשינוי גודל 14 ימים אחרי שהסטטוס של הבקשה מוגדר לאחד מהערכים הבאים:

  • הושלם בהצלחה (SUCCEEDED)

  • נכשל (FAILED)

  • בוטל (CANCELLED)

עם זאת, אפשר למחוק מיד בקשה לשינוי גודל לפני כן, כמו שמתואר בקטע הזה.

מחיקה של בקשת שינוי גודל שהסתיימה בהצלחה לא מוחקת את מכונות ה-VM שנוצרו באמצעות הבקשה. קבוצת ה-MIG מוחקת את המכונות הווירטואליות האלה באופן אוטומטי בסוף משך ההפעלה המבוקש. אבל אם העבודה הסתיימה ואין לכם יותר צורך במכונות הווירטואליות, תמחקו אותן.

כדי למחוק כמה בקשות לשינוי גודל בו-זמנית, משתמשים במסוףGoogle Cloud או ב-CLI של gcloud. אחרת, כדי למחוק בקשה אחת לשינוי גודל, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. בעמודה Name (שם), לוחצים על השם של ה-MIG שמכיל בקשות לשינוי גודל.

    ייפתח דף הסקירה הכללית של ה-MIG.

  3. בשורה Resize requests לוחצים על Edit resize requests.

    החלונית Resize requests מופיעה.

  4. בוחרים את הבקשות לשינוי הגודל שרוצים למחוק.

  5. לוחצים על מחיקה ואז על אישור.

gcloud

כדי למחוק בקשות לשינוי גודל בקבוצת MIG, משתמשים בפקודה instance-groups managed resize-requests delete.

  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests delete MIG_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --zone=ZONE
    
  • ב-MIG אזורי, מריצים את הפקודה הבאה:

    gcloud compute instance-groups managed resize-requests delete MIG_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --region=REGION
    

מחליפים את מה שכתוב בשדות הבאים:

  • MIG_NAME: השם של קבוצת MIG עם בקשות לשינוי גודל שהצליחו, נכשלו או בוטלו.

  • RESIZE_REQUEST_NAMES: רשימה מופרדת בפסיקים של שמות של בקשות לשינוי גודל שרוצים למחוק ב-MIG. לדוגמה, מציינים את הערך request-1,request-2.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

REST

  • כדי למחוק בקשה לשינוי גודל ב-MIG אזורי, שולחים בקשת DELETE באמצעות השיטה instanceGroupManagerResizeRequests.delete.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • כדי למחוק בקשה לשינוי גודל של קבוצת MIG אזורית, שולחים בקשת DELETE באמצעות השיטה regionInstanceGroupManagerResizeRequests.delete.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/MIG_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: המזהה של הפרויקט שבו נמצאת קבוצת MIG אזורית קיימת עם בקשות לשינוי גודל שהצליחו, נכשלו או בוטלו.

  • ZONE: האזור שבו נמצאת קבוצת ה-MIG.

  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

  • MIG_NAME: השם של ה-MIG.

  • RESIZE_REQUEST_NAME: השם של בקשת שינוי הגודל שרוצים למחוק.

המאמרים הבאים