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

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

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

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

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

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

המסוף

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

    כניסה לדף Instance groups

  2. לוחצים על Create instance group.

  3. בשדה Name, נותנים שם לקבוצת ה-MIG.

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

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

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

      1. בוחרים באפשרות Multiple zones.

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

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

        • אם בוחרים באפשרות Balanced או Any single zone, בתיבת הדו-שיח שנפתחת לוחצים על Disable instance redistribution.

        • אם בוחרים באפשרות Any, צריך לוודא שתיבת הסימון Allow instance redistribution לא מסומנת.

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

      1. בתפריט הנפתח Autoscaling mode, לוחצים על Delete autoscaling configuration.

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

    3. גוללים חזרה לשדה Number of instances.

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

  7. בקטע Instance selections, לוחצים על Add selections.

    החלון Instance selections נפתח.

    1. לוחצים על Add instance selection.

    2. בקטע New instance selection:

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

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

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

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

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

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

  • ‫INSTANCE_GROUP_NAME: שם ה-MIG.
  • ‫REGION: האזור שבו רוצים ליצור את ה-MIG.
  • ‫TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת המכונות המנוהלת תיצור ותנהל.
  • ‫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 שאתם רוצים לכל VM בקבוצת המכונות המנוהלת, צרו תבנית של הגדרות מכונה.

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

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫REGION: האזור שבו רוצים ליצור את ה-MIG.
  • ‫INSTANCE_GROUP_NAME: שם ה-MIG.
  • ‫TARGET_SIZE: מספר המכונות הווירטואליות שרוצים שקבוצת המכונות המנוהלת תיצור ותנהל.
  • ‫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".

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