הצורה הפשוטה ביותר של התאמה אוטומטית לעומס (automatic scaling) היא התאמה של קבוצת מופעי מכונה מנוהלים (MIG) על סמך ניצול המעבד (CPU) של המכונות שלה.
אפשר גם להתאים אוטומטית לעומס (autoscale) קבוצת מכונות מנוהלות (MIG) על סמך קיבולת השירות של איזון העומסים, מדדי מעקב או לוחות זמנים.
לפני שמתחילים
- מעיינים במגבלות של המידרוג האוטומטי.
- מידע בסיסי על התאמה אוטומטית לעומס
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
שינוי גודל בהתאם לניצול המעבד
אתם יכולים להגדיר התאמה אוטומטית לעומס על סמך השימוש הממוצע ב-CPU של קבוצת מכונות מנוהלת (MIG). שימוש במדיניות הזו אומר למידרוג האוטומטי לאסוף את נתוני השימוש במעבד של המכונות בקבוצה ולקבוע אם צריך לשנות את גודל הקבוצה. אתם מגדירים את יעד השימוש במעבד (CPU) שהמידרוג האוטומטי צריך לשמור עליו, והכלי פועל כדי לשמור על הרמה הזו.
המידרוג האוטומטי מתייחס לרמת ניצול המעבד כיחס בין השימוש הממוצע בכל המעבדים הווירטואליים לאורך זמן בקבוצת המכונות. אם השימוש הממוצע בסך כל המעבדים הווירטואליים (vCPU) חורג מיעד השימוש, המערכת להרחבה אוטומטית מוסיפה עוד מופעים של מכונות וירטואליות. אם שיעור הניצול הממוצע של כל ליבות ה-vCPU נמוך משיעור הניצול הממוצע שמוגדר כיעד, המידרוג האוטומטי מסיר מכונות וירטואליות. לדוגמה, אם מגדירים יעד ניצול של 0.75, המערכת להרחבת הקיבולת האוטומטית שומרת על ניצול ממוצע של 75% בכל המעבדים הווירטואליים בקבוצת המופעים.
אפשר גם לשנות את קנה המידה על סמך תחזית של ניצול המעבד (CPU). מידע נוסף על התכונה ועל התאמתה לעומס העבודה שלכם זמין במאמר שינוי גודל על סמך תחזיות.
הפעלת התאמה אוטומטית לעומס (autoscaling) על סמך ניצול המעבד (CPU)
כדי להפעיל התאמה אוטומטית לעומס (automatic scaling) על סמך ניצול המעבד (CPU), אפשר להשתמש באחת מהאפשרויות הבאות. אם רוצים להגדיר תקופת ייצוב כדי לשלוט בקצב של הגדלת הקיבולת, צריך להשתמש ב-Google Cloud CLI או ב-REST.
המסוף
נכנסים לדף Instance groups במסוף.
אם יש לכם קבוצת מופעים, לוחצים על השם של קבוצת המופעים ואז על עריכה. בדף העריכה של קבוצת המופעים, מבצעים את הפעולות הבאות:
- לוחצים על הקטע Group size & autoscaling כדי להרחיב אותו.
- לוחצים על Configure autoscaling.
אם אין לכם קבוצת מכונות, לוחצים על Create instance group ומבצעים את הפעולות הבאות:
- בשדה Name, נותנים שם לקבוצה.
- ברשימה Instance template, בוחרים תבנית של הגדרות מכונה.
בקטע Location, בוחרים אחת מהאפשרויות הבאות, בהתאם לסוג ה-MIG שיוצרים (אזורי או מחוזי):
- בשביל MIG אזורי, בוחרים באפשרות Single zone (אזור יחיד), ואז בוחרים אזור ותחום.
- בשביל MIG אזורי, בוחרים באפשרות Multiple zones ואז בוחרים אזור ותחומים.
בקטע Autoscaling, מתווסף כברירת מחדל אות של שימוש אוטומטי במעבד (CPU). אתם יכולים להשתמש בערכי ברירת המחדל של האות או לבצע את הפעולות הבאות:
- מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
כדי לערוך את ניצול המעבד (CPU) של היעד, לוחצים על האות של ניצול המעבד כדי להרחיב את הקטע ומציינים את האחוז.
- בקטע התאמה אוטומטית לעומס מבוססת-תחזיות, בוחרים באפשרות מושבת. כדי לקבל מידע נוסף על התאמה אוטומטית לעומס מבוססת-תחזיות, ולבדוק אם הוא מתאים לעומס העבודה שלכם, אפשר לעיין במאמר התאמה לעומס על סמך תחזיות.
לוחצים על סיום.
אתם יכולים להשתמש בתקופת האתחול כדי לציין למידרוג אוטומטי כמה זמן לוקח לאתחל את האפליקציה. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמגדילים את הקיבולת, הכלי לשינוי גודל אוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
לוחצים על Save.
gcloud
כדי להפעיל את התכונה 'התאמה אוטומטית לעומס (automatic scaling)' לקבוצת מופעי מכונה מנוהלים, משתמשים בפקודת המשנה set-autoscaling. לדוגמה, הפקודה הבאה יוצרת קנה מידה אוטומטי עם יעד של 60% לניצול המעבד. כשיוצרים קנה מידה אוטומטי, צריך להשתמש גם בפרמטר --max-num-replicas בנוסף לפרמטר --target-cpu-utilization:
gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
--max-num-replicas 20 \
--target-cpu-utilization 0.60 \
--cool-down-period 90 \
--stabilization-period 240
אפשר להגדיר את הדגלים הבאים כדי לשלוט בהתאמה האוטומטית לעומס:
-
אפשר להשתמש בדגל
--cool-down-periodכדי להגדיר את תקופת האתחול, שמציינת למנגנון שינוי הגודל האוטומטי כמה זמן לוקח לאתחל את האפליקציה. ציון תקופת אתחול מדויקת משפר את ההחלטות של המידרוג האוטומטי. לדוגמה, כשמרחיבים אופקית בהתאם לעומס (scale out), המידרוג האוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין עוברות אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות. -
אפשר להשתמש בדגל
--stabilization-periodכדי להגדיר את תקופת הייצוב, שקובעת את משך הזמן שבו קבוצת ה-MIG תצמצם את המשאבים. תקופת ייצוב קצרה יותר מצביעה על מחיקה מהירה יותר של מכונות וירטואליות לצורך צמצום אופקי בהתאם לעומס (scale in). הערך צריך להיות בין `0` שניות ל-`3600` שניות. ערך ברירת המחדל הוא 600 שניות. שיטות מומלצות לתקופת הייצוב
אפשר גם להפעיל שינוי גודל אוטומטי חזוי כדי להגדיל את הקיבולת לפני עומס צפוי. כדי לבדוק אם התאמה אוטומטית חזויה לעומס מתאימה לעומס העבודה שלכם, קראו את המאמר התאמה לעומס על סמך חיזויים.
כדי לוודא שהתכונה 'התאמה אוטומטית לעומס (automatic scaling)' הופעלה בהצלחה, משתמשים בפקודת-המשנה instance-groups managed describe. הפקודה הזו מתארת את קבוצת מופעי המכונה המנוהלים התואמת ומספקת מידע על תכונות של התאמה אוטומטית לעומס (automatic scaling) עבור קבוצת המופעים הזו:
gcloud compute instance-groups managed describe example-managed-instance-group
בחומרי העזר של gcloud תוכלו למצוא את רשימת הפקודות והדגלים של gcloud.
REST
כדי ליצור קנה מידה אוטומטי, משתמשים ב-method autoscalers.insert עבור MIG אזורי או ב-method regionAutoscalers.insert עבור MIG אזורי.
בדוגמה הבאה נוצרת קבוצת מופעים מנוהלת (MIG) עם קנה מידה אוטומטי באזור מסוים:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
גוף הבקשה צריך להכיל את השדות name, target ו-autoscalingPolicy. צריך להגדיר את cpuUtilization ו-maxNumReplicas ב-autoscalingPolicy.
אופציונלי: מגדירים את השדות הבאים כדי לשלוט בהתאמה אוטומטית לעומס:
-
אפשר להשתמש בשדה
coolDownPeriodSecכדי להגדיר את תקופת האתחול, שבה מוגדר למנגנון לשינוי גודל המשאבים כמה זמן לוקח לאתחל את האפליקציה. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמגדילים את הקיבולת, הכלי לשינוי גודל אוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות. -
אתם יכולים להשתמש בשדה
stabilizationPeriodSecכדי להגדיר את תקופת הייצוב, שקובעת את משך הזמן שבו קבוצת ה-MIG תצמצם את המשאבים. תקופת ייצוב קצרה יותר מצביעה על מחיקה מהירה יותר של מכונות וירטואליות לצורך הגדלת הקיבולת. הערך צריך להיות בין 0 שניות ל-3,600 שניות. ערך ברירת המחדל הוא 600 שניות. מידע נוסף זמין במאמר בנושא שיטות מומלצות לתקופת ייצוב.
אפשר גם להפעיל התאמה אוטומטית חזויה לעומס (autoscaling) כדי להרחיב אופקית בהתאם לעומס (scale out) לפני העומס החזוי. כדי לבדוק אם שינוי גודל אוטומטי חזוי מתאים לעומס העבודה שלכם, אפשר לעיין במאמר שינוי גודל על סמך תחזיות.
{
"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,
"stabilizationPeriodSec": 240
}
}
מידע נוסף על הפעלת התאמה אוטומטית לעומס על סמך ניצול המעבד זמין במדריך שימוש בהתאמה אוטומטית לעומס באפליקציות בעלות יכולת הרחבה גבוהה.
איך מידרוג אוטומטי מטפל בניצול גבוה של המעבד (CPU)
במהלך תקופות של ניצול גבוה של המעבד, אם הניצול קרוב ל-100%, המידרוג האוטומטי מעריך שהקבוצה כבר עמוסה מדי. במקרים כאלה, מידרוג אוטומטי מגדיל את מספר המכונות הווירטואליות ב-50% לכל היותר.
המאמרים הבאים
- איך מפעילים התאמה אוטומטית לעומס לחיזוי
- מידע נוסף על ניהול של קנה מידה אוטומטי
- איך כלי ההתאמה האוטומטית של קנה המידה מקבלים החלטות
- איך משתמשים בכמה אותות של שינוי גודל אוטומטי כדי לשנות את גודל הקבוצה.