השבתת תיקונים ב-MIG

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

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

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

כדי לבדוק אם התיקונים כבר מושבתים ב-MIG, בודקים את הגדרת התיקון ב-MIG.

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

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

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

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

    המסוף

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

    gcloud

    1. התקינו את ה-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, כברירת מחדל מושבתים גם תיקונים של מכונות וירטואליות שנכשלו וגם תיקון תוכנה אוטומטי (autohealing). אם רוצים להשבית רק את תיקון תוכנה אוטומטי (autohealing), אפשר לעיין במאמר בנושא השבתת התיקון האוטומטי.

המסוף

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

    כניסה לדף Instance groups

  2. לוחצים על השם של קבוצת ה-MIG שרוצים להשבית בה את התיקון.

  3. לוחצים על Edit.

  4. לוחצים על Instance lifecycle and autohealing (מחזור החיים של מופע ותיקון אוטומטי) כדי להרחיב את הקטע.

    1. בקטע פעולה במקרה של כשל, מגדירים את השדה פעולת ברירת מחדל במקרה של כשל לללא פעולה.
    2. אם הגדרתם תיקון אוטומטי ואתם לא רוצים שקבוצת ה-MIG תשבית את התיקון האוטומטי, בקטע תיקון אוטומטי, מגדירים את השדה במקרה של בדיקת תקינות שנכשלה לערך תיקון של מופע.
  5. לוחצים על Save.

gcloud

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

gcloud compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=do-nothing \
    --zone=ZONE

אם התיקון האוטומטי מוגדר ב-MIG ואתם לא רוצים להשבית אותו כברירת מחדל, משתמשים בפקודה update כדי להגדיר את הדגל --action-on-vm-failed-health-check לערך repair. כך אפשר לוודא שהתיקון האוטומטי של מכונות וירטואליות לא תקינות ימשיך לפעול גם אם השבתת תיקון של מכונות וירטואליות שנכשלו מופעלת.

gcloud compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=do-nothing \
    --action-on-vm-failed-health-check=repair \
    --zone=ZONE

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

  • MIG_NAME: השם של קבוצת המכונות.
  • ZONE: האזור שבו נמצאת קבוצת ה-MIG. בשביל MIG אזורי, משתמשים בדגל --region=REGION.

REST

כדי להשבית תיקונים בקבוצת MIG, משתמשים בשיטות ה-API הבאות. ההגדרה הזו משביתה את התיקון האוטומטי כברירת מחדל.

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

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING"
    }
  }

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

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

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING",
      "onFailedHealthCheck": "REPAIR"
    }
  }

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

  • PROJECT_ID: מזהה הפרויקט.
  • MIG_NAME: השם של ה-MIG.
  • ZONE: האזור שבו נמצאת קבוצת ה-MIG. אם מדובר בקבוצת מופעים מנוהלת אזורית, צריך להשתמש ב-regions/REGION בכתובת ה-URL.

מגבלות

אם ב-MIG יש אחד מהמאפיינים הבאים, אי אפשר להשבית את התיקונים ב-MIG על ידי הגדרת השדה defaultActionOnFailure לערך DO_NOTHING:

השבתת התיקון האוטומטי

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

המסוף

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

    כניסה לדף Instance groups

  2. לוחצים על השם של קבוצת ה-MIG שרוצים להשבית בה את התיקון האוטומטי.

  3. לוחצים על Edit.

  4. לוחצים על Instance lifecycle and autohealing (מחזור החיים של מופע ותיקון אוטומטי) כדי להרחיב את הקטע.

  5. בקטע Autohealing, מגדירים את השדה On failed health check לערך No action.

  6. לוחצים על Save.

gcloud

כדי להשבית תיקון אוטומטי בקבוצת מכונות מנוהלת קיימת, משתמשים בפקודה update ומגדירים את הדגל --action-on-vm-failed-health-check לערך do-nothing.

לדוגמה, משתמשים בפקודה הבאה עבור קבוצת MIG אזורית:

gcloud compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=do-nothing \
    --zone=ZONE

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

  • MIG_NAME: השם של ה-MIG.
  • ZONE: האזור שבו נמצאת קבוצת ה-MIG. בשביל MIG אזורי, משתמשים בדגל --region=REGION.

REST

כדי להשבית את התיקון האוטומטי ב-MIG, משתמשים בשיטות ה-API באופן הבא ומגדירים את הדגל --action-on-vm-failed-health-check לערך do-nothing.

לדוגמה, שולחים את הבקשה הבאה כדי להשבית את התיקון האוטומטי ב-MIG אזורי:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
   {
     "onFailedHealthCheck": "DO_NOTHING"
   }
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור שבו נמצאת קבוצת ה-MIG. אם מדובר בקבוצת מופעים מנוהלת אזורית, צריך להשתמש ב-regions/REGION בכתובת ה-URL.
  • MIG_NAME: השם של קבוצת המכונות.

הפעלה של תיקונים או תיקון תוכנה אוטומטי

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

המסוף

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

    כניסה לדף Instance groups

  2. לוחצים על השם של קבוצת ה-MIG שבה רוצים להפעיל תיקון.

  3. לוחצים על Edit.

  4. לוחצים על Instance lifecycle and autohealing (מחזור החיים של מופע ותיקון אוטומטי) כדי להרחיב את הקטע.

    • כדי לתקן מכונות וירטואליות שנכשלו, בקטע פעולה במקרה של כשל, מגדירים את השדה פעולת ברירת המחדל במקרה של כשל לערך תיקון המופע.
    • כדי לתקן מכונות וירטואליות לא תקינות, בקטע Autohealing (תיקון אוטומטי), מגדירים את השדה On failed health check (במקרה של בדיקת תקינות שנכשלה) לערך Repair instance (תיקון המכונה). אם מגדירים את הערך הזה לפעולת ברירת מחדל, התיקון האוטומטי משתמש באותה הגדרה שהגדרתם בשדה פעולת ברירת מחדל במקרה של כשל.
  5. בסיום, לוחצים על שמירה כדי לאשר את השינויים.

gcloud

כדי להפעיל תיקונים ב-MIG, משתמשים בפקודה update. הפעולה הזו מפעילה גם תיקון אוטומטי, אם הערך של הדגל --action-on-vm-failed-health-check הוא default-action.

gcloud compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=repair

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

gcloud compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=default-action OR repair

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

  • MIG_NAME בשם של קבוצת MIG.
  • default-action OR repair: אם רוצים שהתיקון האוטומטי ישתמש באותה הגדרה שהגדרתם לתיקון של מכונות וירטואליות שנכשלו, צריך להגדיר את הערך default-action. לדוגמה, אם משביתים את התיקון של מכונות וירטואליות שנכשלו, גם התיקון האוטומטי של ה-MIG מושבת. אם רוצים לשלוט בתיקונים של מכונות וירטואליות לא תקינות בנפרד, צריך להגדיר את הערך ל-repair.

REST

כדי להפעיל תיקונים ב-MIG, משתמשים בשיטת ה-API באופן הבא. הפעולה הזו מפעילה גם תיקון אוטומטי, אם הערך של השדה onFailedHealthCheck הוא DEFAULT_ACTION.

לדוגמה, שולחים את הבקשה הבאה ב-MIG אזורי:

    PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
    {
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "REPAIR"
      }
    }
  

אם השבתתם את התיקון האוטומטי בנפרד ואתם רוצים להפעיל אותו שוב, אתם יכולים להשתמש בשיטת ה-API באופן הבא:

  PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
  {
    "instanceLifecyclePolicy": {
      "onFailedHealthCheck": "DEFAULT_ACTION OR REPAIR"
    }
  }

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

  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור שבו נמצאת קבוצת ה-MIG. אם מדובר בקבוצת מופעים מנוהלת אזורית, צריך להשתמש ב-regions/REGION בכתובת ה-URL.
  • MIG_NAME: השם של ה-MIG.
  • DEFAULT_ACTION OR REPAIR: אם רוצים שהתיקון האוטומטי ישתמש באותה הגדרה כמו תיקונים של מכונות וירטואליות שנכשלו, צריך להגדיר את הערך DEFAULT_ACTION. לדוגמה, אם משביתים את התיקון של מכונות וירטואליות שנכשלו, גם התיקון האוטומטי של ה-MIG מושבת. אם רוצים להגדיר תיקון תוכנה אוטומטי (autohealing) בנפרד, צריך להגדיר את הערך REPAIR.

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