יצירת קבוצת MIG עם כמה סוגי מכונות

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

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

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

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

יצירת קבוצת MIG עם כמה סוגי מכונות

המסוף

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

    כניסה לדף Instance groups

  2. לוחצים על יצירת קבוצת מופעים.

  3. בשדה Name, מזינים שם ל-MIG.

  4. ברשימה Instance template, בוחרים את תבנית של הגדרות מכונה שרוצים להשתמש בה עבור ה-MIG.

  5. כדי לציין את מספר המופעים ולהוסיף בחירות של מופעים, צריך לבצע את הפעולות הבאות:

    1. עוברים לקטע מיקום בדף ומגדירים מיקום באופן הבא:

      1. בוחרים באפשרות אזורים מרובים.

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

      3. בשדה Target distribution shape, בוחרים באפשרות Balanced,‏ Any או Any single zone.

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

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

    2. עוברים לקטע Autoscaling בדף ומוחקים את הגדרת ה-Autoscaling באופן הבא:

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

      2. בתיבת הדו-שיח שנפתחת, לוחצים על מחיקה.

    3. גוללים חזרה לשדה Number of instances [מספר המופעים].

  6. בשדה Number of instances (מספר המופעים), מציינים את מספר המכונות הווירטואליות שרוצים בקבוצה.

  7. בקטע Instance selections (בחירת מופעים), לוחצים על Add selections (הוספת בחירות).

    נפתח החלון בחירת מופעים.

    1. לוחצים על הוספת בחירת מופע.

    2. בקטע New instance selection (בחירת מופע חדש), מבצעים את הפעולות הבאות:

      1. בשדה Name, מזינים שם לבחירת המכונה.

      2. בקטע Machine types (סוגי מכונות), לוחצים על Add machine type (הוספת סוג מכונה), בוחרים את סוג המכונה שרוצים להוסיף לבחירת המכונה ולוחצים על Done (סיום).

        חוזרים על השלב הזה לכל סוג מכונה שרוצים להוסיף לבחירת המופע.

      3. אחרי שמסיימים להוסיף את סוגי המכונות, לוחצים על סיום.

  8. בחלון Instance selections (בחירת מופעים), לוחצים על Done (סיום).

  9. משאירים את שאר השדות בהגדרות ברירת המחדל שלהם או משנים אותם לפי הצורך.

  10. לוחצים על יצירה.

gcloud

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

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

קבוצות MIG אזוריות לא תומכות בגמישות של מכונות וירטואליות. עם זאת, אם רוצים ליצור קבוצה של שרתים עצמאיים לגיבוי באזור אחד, צריך להגדיר את צורת ההפצה של היעד ל-any-single-zone. בנוסף, אם רוצים אזור ספציפי, משתמשים בצורת ההתפלגות any-single-zone וכוללים את הדגל --zones ZONE.

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

  • INSTANCE_GROUP_NAME: השם של ה-MIG.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG.
  • TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת ה-MIG תיצור ותתחזק.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • בתבנית של הגדרות מכונה גלובלית: INSTANCE_TEMPLATE_ID
  • SHAPE: צורת ההתפלגות של היעד. הערך יכול להיות balanced,‏ any או any-single-zone.
  • MACHINE_TYPE: סוגי המכונות שרוצים להגדיר ב-MIG. לדוגמה: n1-standard-16,n2-standard-16,e2-standard-16.

Terraform

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

כדי ליצור קבוצת MIG אזורית עם כמה סוגי מכונות, משתמשים במשאב google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

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

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

REST

כדי ליצור קבוצת מופעי מכונה מנוהלים (MIG) אזורית עם כמה סוגי מכונות, שולחים בקשת POST אל ה-method‏ regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

קבוצות MIG אזוריות לא תומכות בגמישות של מכונות וירטואליות. עם זאת, אם רוצים ליצור קבוצה של שרתים עצמאיים לגיבוי באזור אחד, צריך להגדיר את צורת ההפצה של היעד ל-ANY_SINGLE_ZONE. בנוסף, אם רוצים אזור ספציפי, צריך להשתמש בANY_SINGLE_ZONE צורת ההפצה ולכלול את השדה distributionPolicy.zones[].zone בבקשה.

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

  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG.
  • INSTANCE_GROUP_NAME: השם של ה-MIG.
  • TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת ה-MIG תיצור ותתחזק.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • בתבנית של הגדרות מכונה גלובלית: INSTANCE_TEMPLATE_ID
  • SHAPE: צורת ההתפלגות של היעד. הערך יכול להיות BALANCED,‏ ANY או ANY_SINGLE_ZONE.
  • INSTANCE_SELECTION: השם של רשימת סוגי המכונות.
  • MACHINE_TYPE: סוגי המכונות שרוצים להגדיר ב-MIG. לדוגמה: "n1-standard-16","n2-standard-16","e2-standard-16".

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