תיקון מכונה וירטואלית באזור חלופי

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

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

מגבלות

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

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

אישור תיקונים באזור חלופי

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

המסוף

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

    כניסה לדף Instance groups

  2. אם כבר יש לכם קובץ MIG, אתם צריכים:

    1. לוחצים על השם של קבוצת ה-MIG.
    2. לוחצים על Edit.
  3. אם עדיין אין לכם MIG, צריך לפעול לפי השלבים הבאים:

    1. לוחצים על יצירת קבוצת מופעים.
    2. מזינים שם.
    3. בוחרים תבנית של הגדרות מכונה.
    4. בקטע Location, בוחרים באפשרות Multiple zones, ואז בוחרים אזור ותחומים.
    5. בתפריט הנפתח תבנית טירגוט של חלוקת התקציב, בוחרים באפשרות מאוזנת או כלשהי.

      • אם בוחרים באפשרות מאוזן, בתיבת הדו-שיח שמופיעה לוחצים על השבתת חלוקה מחדש של מופעים.

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

  4. בקטע VM instance lifecycle מוודאים שהשדות הבאים מוגדרים כך:

    1. הרשימה פעולת ברירת מחדל במקרה של כשל מוגדרת לתיקון המופע.

    2. ההגדרה Updates during VM instance repair (עדכונים במהלך תיקון של מכונה וירטואלית) מוגדרת לUpdate the instance configuration (עדכון הגדרות המכונה).

    3. בקטע Change zone during VM instance repair, מסמנים את תיבת הסימון Allow repair of VMs in an alternate zone.

  5. בהגדרות האחרות, אפשר להשתמש בערכי ברירת המחדל או לשנות את השדות.

  6. כשמסיימים, לוחצים על שמירה אם מדובר ב-MIG קיים, או על יצירה אם מדובר ב-MIG חדש.

gcloud

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

gcloud beta compute instance-groups managed update MIG_NAME \
    --on-repair-allow-changing-zone=YES \
    --force-update-on-repair \
    --region=REGION

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

gcloud beta compute instance-groups managed create MIG_NAME \
    --template=INSTANCE_TEMPLATE_URL \
    --size=SIZE \
    --zones=ZONES \
    --target-distribution-shape=SHAPE \
    --instance-redistribution-type=none \
    --on-repair-allow-changing-zone=YES \
    --force-update-on-repair

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

  • MIG_NAME: השם של ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • בתבנית של הגדרות מכונה גלובלית: INSTANCE_TEMPLATE_ID
  • SIZE: גודל היעד של ה-MIG.
  • ZONES: רשימת האזורים באזור שבו רוצים ליצור את המכונות הווירטואליות ב-MIG.
  • SHAPE: צורת ההתפלגות של היעד. הערך יכול להיות balanced או any.
  • REGION: האזור שבו נמצאת קבוצת ה-MIG.

Terraform

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

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

resource "google_compute_region_instance_group_manager" "default" {
  provider           = google-beta
  name               = "example-rmig"
  base_instance_name = "example-rmig-instance"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "BALANCED"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_lifecycle_policy {
    default_action_on_failure = "REPAIR"
    force_update_on_repair    = "YES"
    on_repair {
      allow_changing_zone = "YES"
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

REST

כדי להגדיר קבוצת MIG קיימת לתיקון מכונה וירטואלית באזור חלופי, משתמשים בשיטה בגרסת בטא regionInstanceGroupManagers.patch:

PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
    "instanceLifecyclePolicy": {
      "onRepair": {
        "allowChangingZone": "YES"
      },
      "forceUpdateOnRepair": "YES"
    }
}

כדי ליצור קבוצת MIG שיכולה לתקן מכונה וירטואלית באזור חלופי, משתמשים בשיטה regionInstanceGroupManagers.insert בגרסת בטא:

POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "MIG_NAME",
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "targetSize": SIZE,
  "distributionPolicy": {
    "targetShape": "SHAPE"
  }
  "updatePolicy": {
    "instanceRedistributionType": none
  }
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": "YES",
    "onRepair": {
      "allowChangingZone": "YES"
    }
  }
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור שבו נמצאת קבוצת ה-MIG.
  • MIG_NAME: השם של ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • בתבנית של הגדרות מכונה גלובלית: INSTANCE_TEMPLATE_ID
  • SIZE: גודל היעד של ה-MIG.
  • SHAPE: צורת ההתפלגות של היעד. הערך יכול להיות BALANCED או ANY.

איסור תיקונים באזור חלופי

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

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

המסוף

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

    כניסה לדף Instance groups

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

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

  4. עוברים לקטע מחזור החיים של מכונת VM.

  5. בקטע Change zone during VM instance repair, מבטלים את הסימון של התיבה Allow repair of VMs in an alternate zone.

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

gcloud

כדי למנוע תיקונים באזור חלופי, משתמשים בפקודה beta update:

gcloud beta compute instance-groups managed update MIG_NAME \
    --on-repair-allow-changing-zone=NO \
    --region=REGION

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

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

REST

כדי למנוע תיקונים באזור חלופי, משתמשים בשיטה beta regionInstanceGroupManagers.patch:

PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
    "instanceLifecyclePolicy": {
      "onRepair": {
        "allowChangingZone": "NO"
      }
    }
}

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

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

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