במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) עם שינוי גודל אוטומטי, שמוסיפה ומסירה מכונות וירטואליות באופן אוטומטי על סמך השימוש הממוצע במעבד בכל הקבוצה. לדוגמה, אם ניצול ה-CPU של הקבוצה נמוך, הקבוצה מסירה באופן אוטומטי מכונות וירטואליות כדי לחסוך בעלויות.
אתם יכולים לבצע התאמה אוטומטית לעומס של MIG על סמך סוגים שונים של אותות להתאמה אוטומטית לעומס. מידע נוסף מופיע בסקירה הכללית על שינוי גודל אוטומטי.
אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.
לפני שמתחילים
- יצירת תבנית של הגדרות מכונה, שנדרשת כדי ליצור קבוצה של מופעי מכונה מנוהלים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
מגבלות
כדי לראות את הרשימה המלאה של מגבלות MIG, שמשתנה בהתאם להגדרה שבה אתם משתמשים, אפשר לעיין במאמר מגבלות MIG.
יצירת קבוצת מופעים מנוהלת (MIG) והפעלת התאמה אוטומטית לעומס (autoscaling)
משתמשים ב- Google Cloud console, ב-ה-CLI של gcloud, ב-Terraform או ב-REST.
המסוף
-
נכנסים לדף Instance groups במסוף.
שאר השלבים יופיעו במסוף Google Cloud .
-
אם יש לכם קבוצת מופעים, בוחרים אותה ולוחצים על עריכה. אם אין לכם קבוצת מופעים, לוחצים על
יצירת קבוצת מופעים . - אם יוצרים קבוצת מכונות חדשה, מקצים לה שם ואז בוחרים תבנית של הגדרות מכונה לקבוצת המכונות או יוצרים תבנית חדשה.
- אם אין הגדרה של שינוי גודל אוטומטי, בקטע שינוי גודל אוטומטי, לוחצים על הגדרת שינוי גודל אוטומטי.
-
בקטע
מצב התאמה אוטומטית לעומס , בוחרים באפשרות מופעל: הוספה והסרה של מכונות לקבוצה כדי להפעיל את ההתאמה האוטומטית לעומס. - מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
-
בקטע Autoscaling metrics, אם עדיין לא קיים מדד CPU utilization, מוסיפים אותו:
-
לוחצים על
הוספת מדד . -
בקטע
סוג המדד , בוחרים באפשרות ניצול CPU. -
מזינים את יעד ניצול המעבד הרצוי. הערך הזה נחשב לאחוז. לדוגמה, כדי להגדיר ניצול של 75% מהמעבד, מזינים
75. -
בקטע התאמה אוטומטית לעומס על סמך חיזוי, בוחרים באפשרות
מושבת . כדי לקבל מידע נוסף על התאמה אוטומטית לעומס על סמך חיזוי, ולבדוק אם הוא מתאים לעומס העבודה שלכם, אפשר לעיין במאמר התאמה לעומס על סמך חיזוי. - לוחצים על סיום.
-
לוחצים על
- אתם יכולים להשתמש בתקופת האתחול כדי להגדיר את תקופת האתחול, שמציינת למנגנון שינוי גודל הקבוצה האוטומטי כמה זמן לוקח לאתחל את האפליקציה. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמבצעים הגדלה, הכלי להתאמת קנה מידה אוטומטית מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
- כדי ליצור את קבוצת ה-MIG, לוחצים על
Create (יצירה).
gcloud
כדי להפעיל את התכונה 'התאמה אוטומטית לעומס (automatic scaling)', צריך קודם ליצור קבוצת מופעים מנוהלת (MIG). פועלים לפי ההוראות כדי ליצור קבוצת MIG עם מכונות וירטואליות שמוגבלות לאזור אחד או כדי ליצור קבוצת MIG עם מכונות וירטואליות שפרוסות על פני כמה אזורים באזור.
לאחר מכן משתמשים בפקודת המשנה set-autoscaling כדי להפעיל את ההתאמה האוטומטית לעומס של גודל הקבוצה. לדוגמה, הפקודה הבאה יוצרת קנה מידה אוטומטי עם יעד ניצול CPU של 60%. כשיוצרים קנה מידה אוטומטי, צריך להשתמש גם בפרמטר --max-num-replicas וגם בפרמטר --target-cpu-utilization.
אפשר גם להגדיר את --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
כדי להפעיל את התכונה 'התאמה אוטומטית לעומס (automatic scaling)', צריך קודם ליצור קבוצת מופעים מנוהלת (MIG). פועלים לפי ההוראות כדי ליצור קבוצת MIG עם מכונות וירטואליות שמוגבלות לאזור אחד או כדי ליצור קבוצת MIG עם מכונות וירטואליות שפרוסות על פני כמה אזורים באזור.
כדי להגדיר התאמה אוטומטית לעומס ב-MIG, אפשר להשתמש במשאב google_compute_autoscaler.
הדוגמה הבאה מגדירה התאמה אוטומטית לעומס (automatic scaling) על סמך ניצול המעבד (CPU) ב-MIG אזורי.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
כדי להפעיל את התאמה אוטומטית לעומס (automatic scaling), צריך קודם ליצור קבוצת MIG עם מכונות וירטואליות שמוגבלות לתחום (zone) אחד או ליצור קבוצת MIG עם מכונות וירטואליות שמתפרסות על פני כמה תחומים (zones) באזור.
אם יש לכם 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
}
}
אם רוצים, אפשר להפעיל שינוי גודל אוטומטי חזוי כדי להגדיל את הקיבולת לפני עומס צפוי. כדי לבדוק אם התאמה אוטומטית לעומס מבוססת-תחזיות מתאימה לעומס העבודה שלכם, אפשר לעיין במאמר בנושא שינוי גודל על סמך תחזיות.
מידע נוסף על הפעלת התאמה אוטומטית לעומס על סמך ניצול המעבד זמין במאמר בנושא שינוי גודל על סמך ניצול המעבד.
המאמרים הבאים
- מידע נוסף על התאמה אוטומטית לעומס (automatic scaling) ועל סוגים שונים של אותות התאמה לעומס (scaling) שאפשר להוסיף למדיניות התאמה אוטומטית לעומס (automatic scaling).
- מידע נוסף על ניהול של כלי שינוי גודל אוטומטי
- הגדרת תיקון אוטומטי מבוסס-אפליקציה, שבודק מעת לעת שהאפליקציה מגיבה כמצופה בכל אחת ממכונות ה-VM של ה-MIG, ויוצר מחדש באופן אוטומטי מכונות VM שלא מגיבות.
- במאמר הזה מוסבר איך להחיל הגדרה חדשה על כל המכונות הווירטואליות ב-MIG או על קבוצת משנה שלהן. כדי לעשות את זה, צריך להגדיר ולהחיל תבנית חדשה של הגדרות מכונה, הגדרה לכל המכונות או הגדרה לכל מכונה.
- איך מוסיפים חזית למאזן עומסים חיצוני מסוג HTTP(S) לקבוצת המופעים מידע על סוגים אחרים של מאזני עומסים זמין במאמר סקירה כללית על איזון עומסים.