יצירת קבוצת MIG עם דיסקים עם שמירת מצב

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

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

  • אפשר להוסיף ולשמור דיסקים ספציפיים למופע.
  • אפשר להוסיף ולשמור מטא-נתונים ספציפיים למופע.
  • אפשר להוסיף ולשמור כתובות IP.

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

אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.

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

מגבלות

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

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

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

יצירת קבוצת MIG עם דיסקים עם שמירת מצב

משתמשים ב- Cloud de Confiance console, ב-ה-CLI של gcloud, ב-Terraform או ב-REST.

המסוף

  1. עוברים לדף Instance groups.

    כניסה לדף Instance groups

    שאר השלבים יופיעו במסוף Cloud de Confiance .

  2. לוחצים על יצירת קבוצת מופעים.
  3. בוחרים באפשרות קבוצת מופעי מכונה מנוהלים חדשה (עם שמירת מצב).
  4. נותנים שם לקבוצת המופעים, ואפשר גם להוסיף תיאור.
  5. בוחרים תבנית של הגדרות מכונה לקבוצת המכונות או יוצרים תבנית חדשה.
  6. בשדה Number of instances (מספר המכונות), מציינים את המספר הראשוני של המכונות הווירטואליות שצריך בקבוצה הזו.
  7. בקטע Stateful configuration (הגדרות עם שמירת מצב), בקטע Group config (הגדרות קבוצה), לוחצים על הדיסק שרוצים להגדיר עם שמירת מצב, ואז מבצעים את השלבים הבאים.
    1. בקטע Stateful, בוחרים באפשרות Yes.
    2. ברשימה On permanent instance deletion, בוחרים אם רוצים לנתק את הדיסק או למחוק אותו כשמוחקים את מכונת ה-VM באופן סופי.
    3. כדי לשמור את ההגדרות, לוחצים על סיום.
  8. כדי ליצור את קבוצת ה-MIG, לוחצים על Create (יצירה).

gcloud

כדי לציין אילו דיסקים מתבנית הגדרות המכונה צריכים להיות עם שמירת מצב כשיוצרים MIG, משתמשים בדגל --stateful-disk עם הפקודה gcloud compute instance-groups managed create:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_URL \
    --size SIZE \
    --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]

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

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

    • never: (ברירת מחדל). לא מוחקים את הדיסק, אלא מנתקים אותו כשהמכונה הווירטואלית שלו נמחקת.
    • on-permanent-instance-deletion: מחיקת הדיסק כשמופע מכונת ה-VM שלו נמחק לצמיתות מקבוצת המכונות, למשל כשמוחקות את המכונה המנוהלת באופן ידני או כשמקטינים את גודל הקבוצה.

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

Terraform

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

כדי לציין אילו דיסקים מתבנית של הגדרות מכונה צריכים להיות עם שמירת מצב כשיוצרים MIG, צריך לכלול את הבלוק stateful_disk. בדוגמה הבאה נוצרת קבוצת MIG אזורית עם דיסקים עם שמירת מצב. מידע נוסף על המשאב שבו נעשה שימוש בדוגמה זמין במאמר google_compute_instance_group_manager resource.

resource "google_compute_instance_group_manager" "default" {
  name               = "igm-stateful-disk-basic"
  zone               = "us-central1-f"
  base_instance_name = "instance"
  target_size        = 1

  version {
    instance_template = google_compute_instance_template.default.id
  }

  stateful_disk {
    device_name = "example-disk"
    delete_rule = "NEVER"
  }

}

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

REST

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers

{
  "name": "NAME",
  "versions": [
    {
      "instanceTemplate": "INSTANCE_TEMPLATE_URL"
    }
  ],
  "targetSize": SIZE,
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
      }
    }
  }
}

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

  • PROJECT: מזהה הפרויקט של הבקשה.
  • ZONE: האזור שבו נמצאת קבוצת המופעים המנוהלים (MIG) (רלוונטי לקבוצת מופעים מנוהלים אזורית).
    • ל-MIG אזורי, מחליפים את zones/ZONE ב-regions/REGION ומציינים את האזור של ה-MIG.
  • NAME: השם של קבוצת ה-MIG שרוצים ליצור.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • בתבנית של הגדרות מכונה גלובלית: INSTANCE_TEMPLATE_ID
  • SIZE: המספר הראשוני של מופעים שאתם צריכים בקבוצה הזו.
  • DEVICE_NAME: שם המכשיר של דיסק שצוין בתבנית של הגדרות המכונה.
  • DELETE_RULE: ערך שמגדיר מה צריך לקרות לדיסק עם שמירת מצב כשהמופע של המכונה הווירטואלית נמחק. האפשרויות הזמינות הן:

    • never: (ברירת מחדל). הדיסק לא יימחק, אלא ינותק כשהמכונה הווירטואלית תימחק.
    • on_permanent_instance_deletion: מחיקת הדיסק עם שמירת הנתונים כשמכונת ה-VM שלו נמחקת לצמיתות מקבוצת המכונות, למשל כשמוחקות את המכונה המנוהלת באופן ידני או כשמקטינים את גודל הקבוצה.

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

חיוב

‫Compute Engine לא מוחק באופן אוטומטי דיסקים לאחסון מתמיד עם שמירת מצב שניתקתם מ-MIG. עדיין נחייב אתכם על הנפח שהוקצה לדיסקים לאחסון מתמיד (persistent disk) שהוסרו. כדי להימנע מעלויות של נפח אחסון בדיסק אחרי ניתוק הדיסק, צריך למחוק אותו. מידע נוסף מפורט במאמר בנושא תמחור דיסקים.

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