כשיוצרים מדיניות להתאמה אוטומטית לעומס עם כמה אותות, המידרוג האוטומטי מבצע התאמה על סמך האות שמספק את המספר הגדול ביותר של מופעי מכונה וירטואלית (VM) בקבוצת מופעי המכונה המנוהלים (MIG). כך אפשר לוודא שתמיד יהיו מספיק מכונות וירטואליות לטיפול בעומסי העבודה של האפליקציה, ולאפשר שינוי גודל של אפליקציות עם צווארי בקבוק פוטנציאליים מרובים.
למידע נוסף על הסוגים השונים של אותות התאמה אוטומטית לעומס, אפשר לעיין במאמר בנושא מדיניות התאמה אוטומטית לעומס.
לפני שמתחילים
- מידע נוסף על היסודות של שינוי גודל אוטומטי
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
איך הכלי לשינוי גודל אוטומטי מטפל בכמה אותות
כדי לטפל בכמה אותות, כלי ההתאמה האוטומטית לעומס מחשב את המספר המומלץ של מכונות וירטואליות לכל אות, ואז בוחר את האות שמוביל למספר הגדול ביותר של מכונות וירטואליות בקבוצת ה-MIG.
אפשר להשתמש בסקלר אוטומטי כדי לטפל באות אחד לכל סוג מדד, למעט במקרה של מדדים ותזמוני שינוי גודל של Cloud Monitoring. אפשר לבחור עד 5 אותות של שינוי גודל אוטומטי למדדים של Cloud Monitoring וליצור עד 128 תזמונים לכל MIG. לדוגמה, אפשר ליצור קנה מידה אוטומטי שמשתמש בעד אות אחד של ניצול CPU, בעד אות אחד של איזון עומסים, בעד 5 אותות של מדדים מותאמים אישית ובעד 128 לוחות זמנים של שינוי קנה מידה.
לדוגמה, אפשר להגדיר קנה מידה אוטומטי עם כל האותות הבאים:
-
cpuUtilizationעם יעד של 0.8 -
loadBalancingUtilizationעם יעד של 0.6 -
customMetricUtilizationעבור metric1 עם יעד של 1,000 -
customMetricUtilizationעבור מדד2 עם יעד של 2,000 scalingSchedules- מינימום 6 מכונות וירטואליות בכל שבת וראשון בשעה 00:00 למשך 24 שעות
- לפחות 15 מכונות וירטואליות בכל יום שני עד שישי בשעה 9:00 למשך 8 שעות
בדוגמה הזו, נניח שהכלי להתאמת קנה מידה אוטומטית מודד את ערכי השימוש הממוצעים הבאים עבור MIG שמכיל 10 מכונות וירטואליות בזמן המדידה:
- 0.5 לניצול המעבד
- 0.4 load balancing utilization
- 1100 ליחידה מטרית1
- 2700 ליחידות מטריות2
על סמך הערכים הקודמים, הכלי לשינוי גודל אוטומטי מחשב את מספר מכונות ה-VM המומלץ על סמך כל אות:
- 7 מכונות וירטואליות על סמך ניצול המעבד
- 7 מכונות וירטואליות על סמך ניצול איזון העומסים
- 11 מכונות וירטואליות על סמך metric1
- 14 מכונות וירטואליות על סמך metric2
- 6 מכונות וירטואליות בכל יום שבת וראשון למשך כל היום, על סמך לוח הזמנים הראשון של שינוי הגודל
- 15 מכונות וירטואליות בכל יום שני עד שישי מ-9:00 עד 17:00 על סמך לוח הזמנים השני של שינוי הגודל
הכלי להתאמה אוטומטית לעומס בוחר את האות שמוביל למספר הגדול ביותר של מכונות וירטואליות בקבוצת ה-MIG, ומגדיר את הגודל המומלץ של קבוצת ה-MIG לערך הזה. במקרה כזה, המערכת לשינוי גודל אוטומטי משנה את גודל ה-MIG ל-15 מכונות וירטואליות אם לוח הזמנים השני פעיל כרגע, או ל-14 מכונות וירטואליות אם הוא לא פעיל.
יצירת קנה מידה אוטומטי עם כמה אותות
התהליך ליצירת מידרוג אוטומטי עם כמה אותות משתנה מעט בהתאם לשיטה שבה אתם משתמשים: מסוף Cloud de Confiance , ה-CLI של gcloud או REST.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת ה-MIG ברשימה.
לוחצים על Edit.
לוחצים על גודל הקבוצה והתאמה אוטומטית לעומס כדי להרחיב את הקטע.
ברשימה Autoscaling mode (מצב שינוי גודל אוטומטי), מוודאים שהאפשרות On: add and remove instances to the group (מופעל: הוספה והסרה של מופעים לקבוצה) מסומנת.
בשדה Minimum number of instances (מספר המינימום של מופעים), מזינים את מספר המכונות הווירטואליות שרוצים להגדיר ל-MIG הזה. הגודל המינימלי של קבוצת ה-MIG הזו נשמר תמיד, ללא קשר לאותות ההתאמה האוטומטית לעומס.
בשדה Maximum number of instances (מספר המכונות המקסימלי), מזינים את מספר המכונות המקסימלי שרוצים להגדיר לקבוצת ה-MIG הזו. הגודל המקסימלי של קבוצת ה-MIG הזו אף פעם לא חורג מהגודל המומלץ שנוצר על ידי אותות ההתאמה האוטומטית שלה.
לכל אות של התאמה אוטומטית לעומס שמבוסס על מדד שרוצים להוסיף, לוחצים על הוספת אות.
- כדי ליצור אות להתאמה אוטומטית לעומס על סמך ממוצע ניצול המעבד (CPU), ברשימה Signal type בוחרים באפשרות CPU utilization. לאחר מכן, מזינים ניצול יעד של CPU ולוחצים על סיום. מידע נוסף מפורט במאמר בנושא שינוי גודל על סמך ניצול CPU.
- כדי ליצור אות להתאמה אוטומטית לעומס על סמך קיבולת ההגשה של איזון עומסים ב-HTTP, בוחרים באפשרות ניצול איזון העומסים ב-HTTP ברשימה סוג האות. לאחר מכן, מזינים יעד לניצול איזון עומסים של HTTP ולוחצים על סיום. למידע נוסף, ראו שינוי קנה מידה על סמך קיבולת ההגשה של איזון העומסים.
- כדי ליצור אות להתאמה אוטומטית לעומס על סמך מדדים של Cloud Monitoring, בוחרים באפשרות מדד של Cloud Monitoring ברשימה סוג האות. לאחר מכן, ממלאים את שאר השדות ולוחצים על סיום. מידע נוסף זמין במאמר שינוי קנה מידה על סמך מדדים של Cloud Monitoring.
בקטע Autoscaling schedules (תזמונים של שינוי גודל אוטומטי), לוחצים על Manage (ניהול) לכל אות של שינוי גודל אוטומטי שמבוסס על תזמון שרוצים להוסיף.
לוחצים על יצירת לוח זמנים.
בחלונית יצירת תזמון שינוי גודל, ממלאים את שדות החובה ולוחצים על שמירה.
בחלונית תזמוני שינוי גודל, לוחצים על סיום.
מידע נוסף זמין במאמר בנושא שינוי גודל על סמך לוחות זמנים.
בקטע תקופת האתחול, מזינים את מספר השניות שנדרשות לאתחול האפליקציה. במהלך התקופה הזו, המכונות הווירטואליות מסיימות את האתחול לפני שהכלי לשינוי גודל אוטומטי מחשיב את נתוני השימוש שלהן כמהימנים. מידע נוסף זמין במאמר בנושא תקופת ההפעלה.
אופציונלי: כדי להפעיל את אמצעי הבקרה לצמצום הקיבולת, מסמנים את התיבה Enable scale-in controls (הפעלת אמצעי הבקרה לצמצום הקיבולת) בקטע Scale-in controls (אמצעי הבקרה לצמצום הקיבולת). מידע נוסף מופיע במאמר בנושא אמצעי בקרה לצמצום היקף השימוש
לוחצים על Save.
gcloud
כדי ליצור מכונת שינוי גודל אוטומטי עם כמה אותות, משתמשים בפקודה set-autoscaling.
מעבירים כמה מפרטים של אותות באמצעות הדגלים המתאימים של שורת הפקודה.
לדוגמה, הפקודה הבאה יוצרת קנה מידה אוטומטי שמשתמש בניצול CPU, בקיבולת של איזון העומסים, בשני מדדים מותאמים אישית ובתוכנית קנה מידה אחת. הדגלים --max-num-replicas ו---min-num-replicas מגבילים את הגודל המקסימלי והמינימלי של ה-MIG.
gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --target-cpu-utilization=0.8 \ --target-load-balancing-utilization=0.6 \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \ --min-num-replicas=1 \ --max-num-replicas=50
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת ה-MIG. -
PATH_TO_CUSTOM_METRIC_1ו-PATH_TO_CUSTOM_METRIC_2: אופציונלי: הנתיבים למדדים מותאמים אישית בפורמט שדומה ל-custom.cloudmonitoring.googleapis.com/path/to/metric1ול-custom.cloudmonitoring.googleapis.com/path/to/metric2. מידע נוסף מופיע במאמר בנושא מדדים מותאמים אישית.
חוץ מדגלים של מדדים מותאמים אישית, אפשר להעביר רק דגל אחד לכל היותר לכל סוג מדד לכל פקודת gcloud. במדדים מותאמים אישית, אפשר לספק כמה מדדים מותאמים אישית בפקודה אחת על ידי חזרה על הדגל --custom-metric-utilization.
למידע נוסף על הגדרת הדגלים לכל סוג של אות להתאמה אוטומטית לעומס, אפשר לעיין בדפים הבאים:
REST
כדי ליצור קנה מידה אוטומטי, משתמשים ב-method autoscalers.insert עבור MIG אזורי או ב-method regionAutoscalers.insert עבור MIG אזורי.
לדוגמה, הבקשה הבאה יוצרת קנה מידה אוטומטי שמשתמש בניצול CPU, בקיבולת של איזון עומסים, בשני מדדים מותאמים אישית ובשני לוחות זמנים לשינוי גודל. השדות maxNumReplicas ו-minNumReplicas מגבילים את הגודל המקסימלי והמינימלי של ה-MIG.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers
{
"autoscalingPolicy" : {
"cpuUtilization":{
"utilizationTarget": 0.8
},
"loadBalancingUtilization":{
"utilizationTarget": 0.6
},
"customMetricUtilizations":[
{
"metric": "PATH_TO_CUSTOM_METRIC_1",
"utilizationTarget": 1000,
"utilizationTargetType":"GAUGE"
},
{
"metric": "PATH_TO_CUSTOM_METRIC_2",
"utilizationTarget": 2000,
"utilizationTargetType": "DELTA_PER_SECOND"
}
],
"scalingSchedules": {
"workday-capacity": {
"minRequiredReplicas": 10,
"schedule": "30 8 * * Mon-Fri",
"durationSec": 30600,
"description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
},
"january-30-2030-schedule": {
"minRequiredReplicas": 30,
"schedule": "0 0 30 1 * 2030",
"timeZone": "America/New_York",
"durationSec": 86400,
"description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
}
},
"maxNumReplicas": 50,
"minNumReplicas": 1
},
"target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME",
"name": "MIG_NAME"
}מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
MIG_NAME: השם של קבוצת ה-MIG. -
PATH_TO_CUSTOM_METRIC_1ו-PATH_TO_CUSTOM_METRIC_2: אופציונלי: הנתיבים למדדים מותאמים אישית בפורמט שדומה ל-custom.cloudmonitoring.googleapis.com/path/to/metric1ול-custom.cloudmonitoring.googleapis.com/path/to/metric2. מידע נוסף מופיע במאמר בנושא מדדים מותאמים אישית.
כפי שמוצג בדוגמה הזו, אפשר לספק כמה מדדים מותאמים אישית וכמה לוחות זמנים של שינוי גודל באותה בקשה.
למידע נוסף על הגדרת השדות לכל סוג של אות התאמה אוטומטית לעומס, אפשר לעיין בדפים הבאים: