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

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

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

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

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

מגבלות

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

יצירת קבוצת מופעים מנוהלת (MIG) והפעלת התאמה אוטומטית לעומס (autoscaling)

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

המסוף

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

    כניסה לדף Instance groups

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

  2. אם יש לכם קבוצת מופעים, בוחרים אותה ולוחצים על עריכה. אם אין לכם קבוצת מופעים, לוחצים על יצירת קבוצת מופעים.
  3. אם יוצרים קבוצת מכונות חדשה, מקצים לה שם ואז בוחרים תבנית של הגדרות מכונה לקבוצת המכונות או יוצרים תבנית חדשה.
  4. אם אין הגדרות של שינוי גודל אוטומטי, בקטע Autoscaling (שינוי גודל אוטומטי), לוחצים על Configure autoscaling (הגדרת שינוי גודל אוטומטי).
  5. בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה כדי להפעיל שינוי גודל אוטומטי.
  6. מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
  7. בקטע Autoscaling metrics (מדדי שינוי גודל אוטומטי), אם עדיין לא קיים מדד CPU utilization (ניצול CPU), מוסיפים אותו:
    1. לוחצים על הוספת מדד.
    2. בקטע סוג המדד, בוחרים באפשרות ניצול CPU.
    3. מזינים את יעד ניצול המעבד הרצוי. המערכת מתייחסת לערך הזה כאחוז. לדוגמה, כדי להזין 75% ניצול CPU, צריך להזין 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.

הדוגמה הבאה מגדירה שינוי גודל אוטומטי על סמך ניצול המעבד ב-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
  }
}

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

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

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