במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) עם שינוי גודל אוטומטי, שמוסיפה ומסירה מכונות וירטואליות באופן אוטומטי על סמך השימוש הממוצע במעבד בכל הקבוצה. לדוגמה, אם ניצול ה-CPU של הקבוצה נמוך, המערכת מסירה באופן אוטומטי מכונות וירטואליות מהקבוצה כדי לחסוך בעלויות.
אתם יכולים לשנות את גודל ה-MIG באופן אוטומטי על סמך סוגים שונים של אותות לשינוי גודל אוטומטי. מידע נוסף מופיע בסקירה הכללית על שינוי גודל אוטומטי.
אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.
לפני שמתחילים
- יוצרים תבנית של הגדרות מכונה, שנדרשת כדי ליצור קבוצת מופעי מכונה מנוהלים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
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 והפעלת התאמה אוטומטית לעומס
משתמשים ב- Google Cloud console, ב-ה-CLI של gcloud, ב-Terraform או ב-REST.
המסוף
-
נכנסים לדף Instance groups במסוף.
שאר השלבים יופיעו במסוף Google Cloud .
-
אם יש לכם קבוצת מופעים, בוחרים אותה ולוחצים על עריכה. אם אין לכם קבוצת מופעים, לוחצים על
Create instance group . - אם יוצרים קבוצת מכונות חדשה, צריך להקצות לה שם ואז לבחור תבנית של הגדרות מכונה לקבוצת המכונות או ליצור תבנית חדשה.
- אם אין הגדרות של התאמה אוטומטית לעומס, בקטע התאמה אוטומטית לעומס, לוחצים על הגדרת התאמה אוטומטית לעומס.
-
בקטע
מצב שינוי גודל אוטומטי , בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה כדי להפעיל שינוי גודל אוטומטי. - מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
-
בקטע מדדים של שינוי גודל אוטומטי, אם עדיין לא קיים מדד ניצול CPU, מוסיפים אותו:
-
לוחצים על
הוספת מדד . -
בקטע
סוג המדד , בוחרים באפשרות ניצול CPU. -
מזינים את יעד ניצול המעבד הרצוי. הערך הזה מתפרש כאחוז. לדוגמה, אם רוצים להגדיר ניצול של 75% מהמעבד, צריך להזין
75. -
בקטע שינוי גודל אוטומטי מבוסס-תחזיות, בוחרים באפשרות
מושבת . כדי לקבל מידע נוסף על שינוי גודל אוטומטי מבוסס-תחזיות ועל התאמתו לעומס העבודה, אפשר לעיין במאמר שינוי גודל על סמך תחזיות. - לוחצים על סיום.
-
לוחצים על
- אפשר להשתמש בתקופת האתחול כדי להגדיר את תקופת האתחול, שבה מוגדר למנגנון שינוי הגודל האוטומטי כמה זמן לוקח לאפליקציה להתחיל לפעול. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמגדילים את הקיבולת, הכלי לשינוי גודל אוטומטי מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
- כדי ליצור את קבוצת ה-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 אזורי.
כדי ללמוד איך להחיל הגדרות ב-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
}
}
אם רוצים, אפשר להפעיל את התכונה 'שינוי גודל אוטומטי חזוי' כדי להגדיל את הקיבולת לפני עומס צפוי. כדי לבדוק אם שינוי גודל אוטומטי חזוי מתאים לעומס העבודה שלכם, אפשר לעיין במאמר שינוי גודל על סמך תחזיות.
מידע נוסף על הפעלת שינוי גודל אוטומטי על סמך ניצול המעבד זמין במאמר שינוי גודל על סמך ניצול המעבד.
המאמרים הבאים
- מידע נוסף על שינוי גודל אוטומטי ועל סוגים שונים של אותות שינוי גודל שאפשר להוסיף למדיניות שינוי גודל אוטומטי
- מידע נוסף על ניהול של כלי שינוי גודל אוטומטי
- הגדרת תיקון אוטומטי שמבוסס על אפליקציה, שבודק מעת לעת שהאפליקציה מגיבה כמצופה בכל אחת ממכונות ה-VM של ה-MIG, ויוצר מחדש באופן אוטומטי מכונות VM שלא מגיבות.
- כאן מוסבר איך להחיל הגדרה חדשה על כל המכונות הווירטואליות ב-MIG או על קבוצת משנה שלהן, על ידי הגדרה והחלה של תבנית של הגדרות מכונה חדשה, הגדרה של כל המכונות או הגדרה של כל מכונה בנפרד.
- איך מוסיפים חזיתית של מאזן עומסים חיצוני מסוג HTTP(S) לקבוצת המופעים מידע על סוגים אחרים של מאזני עומסים זמין במאמר סקירה כללית על איזון עומסים.