יצירת MIG עם הפעלה של שינוי גודל אוטומטי

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

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

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

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

מגבלות

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

יצירת קבוצת MIG והפעלת התאמה אוטומטית לעומס

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

המסוף

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

    כניסה לדף Instance groups

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

  2. אם יש לכם קבוצת מופעים, בוחרים אותה ולוחצים על עריכה. אם אין לכם קבוצת מופעים, לוחצים על Create instance group.
  3. אם יוצרים קבוצת מכונות חדשה, צריך להקצות לה שם ואז לבחור תבנית של הגדרות מכונה לקבוצת המכונות או ליצור תבנית חדשה.
  4. אם אין הגדרות של התאמה אוטומטית לעומס, בקטע התאמה אוטומטית לעומס, לוחצים על הגדרת התאמה אוטומטית לעומס.
  5. בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה כדי להפעיל שינוי גודל אוטומטי.
  6. מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
  7. בקטע מדדים של שינוי גודל אוטומטי, אם עדיין לא קיים מדד ניצול CPU, מוסיפים אותו:
    1. לוחצים על הוספת מדד.
    2. בקטע סוג המדד, בוחרים באפשרות ניצול CPU.
    3. מזינים את יעד ניצול המעבד הרצוי. הערך הזה מתפרש כאחוז. לדוגמה, אם רוצים להגדיר ניצול של 75% מהמעבד, צריך להזין 75.
    4. בקטע שינוי גודל אוטומטי מבוסס-תחזיות, בוחרים באפשרות מושבת. כדי לקבל מידע נוסף על שינוי גודל אוטומטי מבוסס-תחזיות ועל התאמתו לעומס העבודה, אפשר לעיין במאמר שינוי גודל על סמך תחזיות.
    5. לוחצים על סיום.
  8. אפשר להשתמש בתקופת האתחול כדי להגדיר את תקופת האתחול, שבה מוגדר למנגנון שינוי הגודל האוטומטי כמה זמן לוקח לאפליקציה להתחיל לפעול. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמגדילים את הקיבולת, הכלי לשינוי גודל אוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
  9. כדי ליצור את קבוצת ה-MIG, לוחצים על Create (יצירה).

gcloud

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

לאחר מכן משתמשים בפקודת המשנה set-autoscaling כדי להפעיל את ההתאמה האוטומטית של גודל הקבוצה. לדוגמה, הפקודה הבאה יוצרת קנה מידה אוטומטי עם יעד של 60% לניצול המעבד. כשיוצרים קנה מידה אוטומטי, צריך להשתמש גם בפרמטר --target-cpu-utilization וגם בפרמטר --max-num-replicas.

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

אפשר להשתמש בדגל --cool-down-period כדי להגדיר את תקופת האתחול, שמציינת למנגנון שינוי הגודל האוטומטי כמה זמן לוקח לאתחל את האפליקציה. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמגדילים את הקיבולת, הכלי לשינוי גודל אוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

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

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

gcloud compute instance-groups managed describe example-managed-instance-group

Terraform

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

כדי להגדיר שינוי גודל אוטומטי ב-MIG, אפשר להשתמש במשאב google_compute_autoscaler.

הדוגמה הבאה מגדירה שינוי גודל אוטומטי על סמך ניצול CPU ב-MIG אזורי.

resource "google_compute_autoscaler" "default" {
  name   = "example-autoscaler"
  zone   = "us-central1-f"
  target = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 20
    min_replicas    = 0
    cooldown_period = 90

    cpu_utilization {
      target = 0.60
    }
  }
}

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

REST

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

אם יש לכם קבוצת MIG אזורית, צריך לשלוח בקשת POST ל-method‏ autoscalers.insert. אם יש לכם MIG אזורי, צריך להשתמש ב-method regionAutoscalers.insert.

לדוגמה:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

גוף הבקשה צריך להכיל את השדות name, target ו-autoscalingPolicy. בשדה autoscalingPolicy צריך להגדיר את ערך cpuUtilization ואת ערך maxNumReplicas.

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

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

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

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

מידע נוסף על הפעלת שינוי גודל אוטומטי על סמך ניצול המעבד זמין במאמר שינוי גודל על סמך ניצול המעבד.

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