התכונה 'שינוי גודל אוטומטי לפי תזמון' מאפשרת לשפר את הזמינות של עומסי העבודה על ידי תזמון הקיבולת מראש לפני עומס צפוי. אם אתם מריצים את עומס העבודה שלכם בקבוצת מופעי מכונה מנוהלים (MIG), אתם יכולים לתזמן מספר נדרש של מופעי מכונות וירטואליות (VM) עבור דפוסי עומס חוזרים וגם עבור אירועים חד-פעמיים. כדאי להשתמש בלוחות זמנים של שינוי גודל אם עומס העבודה לוקח הרבה זמן לאתחול, ואתם רוצים להגדיל את הקיבולת לפני שיא צפוי בעומס.
במאמר הזה מוסבר איך ליצור, להציג ברשימה, לערוך, להשבית, להפעיל מחדש ולמחוק תזמוני שינוי גודל של קבוצת MIG קיימת. מידע נוסף על MIGs ועל התאמה אוטומטית לעומס זמין במאמרים יצירת קבוצות מופעי מכונה מנוהלים והתאמה אוטומטית לעומס של קבוצות מופעי מכונה.
לפני שמתחילים
- מידע נוסף על קנה מידה אוטומטי
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
מגבלות
הגדרת לוחות זמנים לשינוי גודל מוגבלת על ידי המגבלות שחלות על כל כלי שינוי הגודל האוטומטי וגם על ידי המגבלות הבאות:
- אפשר להגדיר עד 128 תזמונים של שינוי גודל לכל MIG. כדי לעקוף את המגבלה הזו, צריך למחוק תוכניות שינוי גודל עם סטטוס
OBSOLETEשאין לכם כוונה להפעיל שוב. - משך הזמן המינימלי לשינוי גודל של לוחות זמנים הוא 5 דקות.
יצירת לוח זמנים לשינוי גודל
אפשר ליצור עד 128 לוחות זמנים לשינוי גודל לכל קבוצת MIG. מידע נוסף זמין במאמר בנושא הגדרות של תזמון שינוי גודל.
בהוראות הבאות מוסבר איך ליצור תזמון לשינוי גודל של MIG.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG ברשימה.
לוחצים על Edit.
לוחצים על גודל הקבוצה והתאמה אוטומטית לעומס כדי להרחיב את הקטע.
אם אין הגדרה של התאמה אוטומטית לעומס, לוחצים על הגדרת התאמה אוטומטית לעומס.
כברירת מחדל, הגדרת שינוי הגודל האוטומטי מוסיפה אות שמבוסס על ניצול CPU. אם רוצים לשנות את גודל ה-MIG רק על סמך לוחות זמנים, צריך למחוק את מדד ניצול המעבד שמוגדר כברירת מחדל אחרי שמוסיפים את לוחות הזמנים.
בקטע Autoscaling schedules (תזמון של שינוי גודל אוטומטי), לוחצים על Manage (ניהול).
בחלונית תזמון שינוי גודל, לכל תזמון שינוי גודל שרוצים להוסיף, מבצעים את הפעולות הבאות:
- לוחצים על יצירת לוח זמנים.
- בחלונית Create scaling schedule (יצירת תזמון שינוי גודל), מזינים Name (שם).
- אופציונלי: מזינים תיאור.
- מזינים את מספר המופעים המינימליים הנדרשים שהתזמון הזה מספק כשהוא פעיל.
כדי לציין את שעת ההתחלה ואת החזרה של תזמון ההתאמה, אפשר להשתמש בממשק ברירת המחדל. אפשר גם להגדיר לוח זמנים עם שעת התחלה ומחזוריות מורכבות יותר באמצעות ביטוי cron. בהתאם להגדרה הרצויה, מבצעים את השלבים הבאים:
ממשק ברירת המחדל
בשדה שעת התחלה, מזינים את שעת ההתחלה בפורמט
HH:MM AM/PM, למשל09:00 AM.לוחצים על השדה אזור זמן. בוחרים מדינה ואז אזור זמן.
אפשר להשתמש בשדה חיפוש לפי מדינה כדי למצוא מדינה או אזור זמן. לדוגמה, מקלידים
Australia/australian centralכדי למצוא את אזורי הזמן של שעון מרכז אוסטרליה.בשדות משך ויחידת זמן, מזינים משך זמן ובוחרים יחידת זמן תואמת.
בשדה חזרה, בוחרים את תדירות החזרה של התזמון.
אפשר לבחור באפשרות פעם אחת או באפשרות כל יום. כדי לציין שהתזמון יחזור רק בימים מסוימים, בוחרים באפשרות כל שבוע או כל חודש. אחרי שבוחרים באחת מהאפשרויות האלה, משתמשים ברשימה הנוספת כדי לבחור באילו ימים בשבוע או בחודש יתחיל לוח הזמנים.
ביטוי cron
כדי להפעיל, לוחצים על המתג שימוש בביטוי CRON.
בשדה CRON expression, מזינים ביטוי cron שמציין את שעת ההתחלה ואת המחזוריות.
לוחצים על השדה אזור זמן. בוחרים מדינה ואז אזור זמן.
אפשר להשתמש בשדה חיפוש לפי מדינה כדי למצוא מדינה או אזור זמן. לדוגמה, מקלידים
Australia/australian centralכדי למצוא את אזורי הזמן של שעון מרכז אוסטרליה.בשדות משך ויחידת זמן, מזינים משך זמן ובוחרים יחידת זמן מתאימה.
לוחצים על Save. בחלונית Scaling schedules (לוחות זמנים לשינוי גודל) מופיע לוח הזמנים שיצרתם.
כשמסיימים ליצור את לוחות הזמנים, לוחצים על סיום.
התזמונים נשמרים ומוחלים על ה-MIG.
כדי לצאת מדף העריכה, לוחצים על שמירה.
gcloud
כדי להוסיף לוח זמנים להתאמה לעומס של קבוצת MIG שלא מוגדרת בה מדיניות קיימת של התאמה אוטומטית לעומס, משתמשים בפקודה gcloud compute instance-groups managed set-autoscaling.
gcloud compute instance-groups managed set-autoscaling MIG_NAME \
[--min-num-replicas=MIN_NUM_REPLICAS] \
--max-num-replicas=MAX_NUM_REPLICAS \
--set-schedule=SCHEDULE_NAME \
--schedule-cron="CRON_EXPRESSION" \
--schedule-duration-sec=DURATION \
[--schedule-time-zone="TIME_ZONE"] \
--schedule-min-required-replicas=MIN_REQ_REPLICAS \
[--schedule-description="DESCRIPTION"] \
[--zone=ZONE | --region=REGION]
כדי להוסיף ל-MIG מדיניות קיימת של התאמה אוטומטית לעומס, משתמשים בפקודה gcloud compute instance-groups managed update-autoscaling.
gcloud compute instance-groups managed update-autoscaling MIG_NAME \
[--min-num-replicas=MIN_NUM_REPLICAS] \
[--max-num-replicas=MAX_NUM_REPLICAS] \
--set-schedule=SCHEDULE_NAME \
--schedule-cron="CRON_EXPRESSION" \
--schedule-duration-sec=DURATION \
[--schedule-time-zone="TIME_ZONE"] \
--schedule-min-required-replicas=MIN_REQ_REPLICAS \
[--schedule-description="DESCRIPTION"] \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת מופעים מנוהלת (MIG) עם מדיניות קיימת של שינוי גודל אוטומטי. -
MIN_NUM_REPLICAS: אופציונלי: המספר המינימלי של מופעים שנדרשים לקבוצת ה-MIG הזו. Google ממליצה להגדיר את הערך הזה כמספר המינימלי של מופעים שאתם צריכים כשלא מופעל תזמון של שינוי גודל. כדי להקטין את קבוצת ה-MIG לאפס מכונות, צריך להגדיר את הערך הזה ל-0ולוודא שהתנאים הנדרשים מתקיימים. -
MAX_NUM_REPLICAS: המספר המקסימלי של מופעים שאפשר לספק לקבוצת ה-MIG הזו. אופציונלי עבור MIG עם מדיניות קיימת של שינוי גודל אוטומטי. -
SCHEDULE_NAME: השם של לוח הזמנים החדש לשינוי גודל. -
CRON_EXPRESSION: שעת ההתחלה והחזרה של לוח הזמנים הזה, בפורמט של ביטוי cron. -
DURATION: משך הזמן בשניות שבו לוח הזמנים הזה פעיל. -
TIME_ZONE: אופציונלי: אזור הזמן של IANA של שעת ההתחלה של התזמון, לדוגמהEurope/Paris. ערך ברירת המחדל הואUTC. -
MIN_REQ_REPLICAS: מספר המופעים המינימליים הנדרשים שמוגדרים בלוח הזמנים הזה כשהוא פעיל. -
DESCRIPTION: אופציונלי: תיאור של לוח הזמנים החדש לשינוי הגודל. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
אתם יכולים ליצור לוחות זמנים שפועלים פעם אחת או שחוזרים על עצמם באופן תקופתי.
לוח זמנים חוזר
בדוגמה הזו, הפקודה יוצרת לוח זמנים שחוזר על עצמו.
התזמון הזה מציין שאתם רוצים שקבוצת ה-MIG תכיל לפחות 10 מכונות וירטואליות בכל יום שני, שלישי, רביעי, חמישי ושישי, בין השעות 8:30 ל-17:00 לפי זמן אוניברסלי מתואם (UTC). הפקודה הזו משתמשת גם בדגלים --min-num-replicas ו---max-num-replicas כדי לעדכן את המספר המינימלי של המכונות ל-0 ואת המספר המקסימלי של המכונות ל-30 עבור כל אותות ההתאמה האוטומטית לעומס של קבוצת ה-MIG שנבחרה. הפקודה הזו
מניחה שיש לכם MIG בשם example-mig
עם מדיניות קיימת של שינוי גודל אוטומטי.
gcloud compute instance-groups managed update-autoscaling example-mig \
--min-num-replicas=0 \
--max-num-replicas=30 \
--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"
תזמון חד-פעמי
בדוגמה הזו, הפקודה יוצרת תזמון שמופעל פעם אחת.
לפי התזמון הזה, אתם רוצים שקבוצת ה-VM המנוהלת תכיל לפחות 30 מכונות וירטואליות במשך כל היום בתאריך 30 בינואר 2030 באזור הזמן America/New_York. הפקודה הזו מניחה שיש לכם קבוצת MIG קיימת בשם example-mig שנמצאת ב-us-east1-b ויש לה מדיניות קיימת להתאמה אוטומטית לעומס.
gcloud compute instance-groups managed update-autoscaling example-mig \
--set-schedule=example-onetime-schedule \
--schedule-cron="0 0 30 1 * 2030" \
--schedule-duration-sec=86400 \
--schedule-time-zone="America/New_York" \
--schedule-min-required-replicas=30 \
--schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \
--zone=us-east1-b
Terraform
כדי להוסיף ל-MIG תזמון של שינוי גודל, משתמשים במשאב google_compute_autoscaler.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
כדי ליצור קנה מידה אוטומטי עם תזמונים של שינוי גודל עבור MIG, משתמשים ב-method autoscalers.insert עבור MIG אזורי או ב-method regionAutoscalers.insert עבור MIG אזורי.
מבצעים את הקריאה הבאה כדי ליצור תזמון ל-MIG אזורי שלא קיימת בו מדיניות קיימת של התאמה אוטומטית לעומס:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME",
"autoscalingPolicy": {
"minNumReplicas": MIN_NUM_REPLICAS,
"maxNumReplicas": MAX_NUM_REPLICAS,
"scalingSchedules": {
"SCHEDULE_NAME": {
"minRequiredReplicas": MIN_REQ_REPLICAS,
"schedule": "CRON_EXPRESSION",
"timeZone": "TIME_ZONE",
"durationSec": DURATION,
"description": "DESCRIPTION"
},
...
}
}
}
כדי ליצור לוחות זמנים ל-MIG עם מדיניות קיימת של התאמה אוטומטית לעומס, משתמשים בשיטה autoscalers.patch ל-MIG אזורי או בשיטה regionAutoscalers.patch ל-MIG אזורי.
לדוגמה, כדי ליצור תזמון ל-MIG אזורי שיש לו מדיניות קיימת של התאמה אוטומטית לעומס, מבצעים את הקריאה הבאה:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"minNumReplicas": MIN_NUM_REPLICAS,
"maxNumReplicas": MAX_NUM_REPLICAS,
"scalingSchedules": {
"SCHEDULE_NAME": {
"minRequiredReplicas": MIN_REQ_REPLICAS,
"schedule": "CRON_EXPRESSION",
"timeZone": "TIME_ZONE",
"durationSec": DURATION,
"description": "DESCRIPTION"
},
...
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG. -
MIN_NUM_REPLICAS: אופציונלי: המספר המינימלי של מופעים שנדרשים לקבוצת ה-MIG הזו. Google ממליצה להגדיר את הערך הזה למספר המינימלי של מופעים שאתם צריכים כשאין לוח זמנים פעיל של שינוי גודל. כדי להקטין את קבוצת ה-MIG לאפס מופעים, צריך להגדיר את הערך הזה ל-0ולוודא שהתנאים הנדרשים מתקיימים. -
MAX_NUM_REPLICAS: המספר המקסימלי של מופעים שאפשר לספק לקבוצת ה-MIG הזו. אופציונלי עבור MIG עם מדיניות קיימת של שינוי גודל אוטומטי. -
SCHEDULE_NAME: השם של לוח הזמנים החדש לשינוי גודל. -
MIN_REQ_REPLICAS: מספר המכונות המינימלי הנדרש שזמין במסגרת לוח הזמנים הזה כשהוא פעיל. -
CRON_EXPRESSION: שעת ההתחלה והחזרה של לוח הזמנים הזה, בפורמט של ביטוי cron. -
TIME_ZONE: אופציונלי: אזור הזמן של IANA של שעת ההתחלה של התזמון, לדוגמהEurope/Paris. ערך ברירת המחדל הואUTC. -
DURATION: משך הזמן בשניות שבו לוח הזמנים הזה פעיל. -
DESCRIPTION: אופציונלי: תיאור של לוח הזמנים החדש לשינוי הגודל.
אתם יכולים ליצור לוחות זמנים שפועלים פעם אחת או שחוזרים על עצמם באופן תקופתי.
לוח זמנים חוזר
בדוגמה הזו של קריאה ל-API נוצר לוח זמנים שחוזר על עצמו.
לפי התזמון הזה, אתם רוצים שקבוצת ה-MIG האזורית תכיל לפחות 10 מכונות וירטואליות בכל יום שני, שלישי, רביעי, חמישי ושישי, בין השעות 8:30 ל-17:00 לפי זמן אוניברסלי מתואם (UTC). קריאה ל-API זו משתמשת גם בשדות minNumReplicas ו-maxNumReplicas כדי לעדכן את המספר המינימלי של המכונות ל-0 ואת המספר המקסימלי של המכונות ל-30 עבור כל אותות ההתאמה האוטומטית לעומס של קבוצת ה-MIG שנבחרה.
הקריאה הזו ל-API מניחה שיש לכם פרויקט קיים בשם example-project עם קבוצת MIG אזורית שנמצאת ב-us-east1-b ויש לה כלי להתאמה אוטומטית לעומס בשם example-autoscaler עם מדיניות קיימת להתאמה אוטומטית לעומס.
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler
{
"autoscalingPolicy": {
"minNumReplicas": 0,
"maxNumReplicas": 30,
"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"
}
}
}
}
כדי להשתמש בדוגמה הזו עבור MIG אזורי, צריך לשלוח בקשה דומה באמצעות השיטה regionAutoscalers.patch ולציין אזור במקום תחום.
תזמון חד-פעמי
בדוגמה הזו של קריאה ל-API נוצר לוח זמנים להפעלה חד-פעמית.
לפי התזמון הזה, אתם רוצים שקבוצת MIG אזורית תכיל לפחות 30 מכונות וירטואליות במשך כל היום בתאריך 30 בינואר 2030 באזור הזמן America/New_York. הקריאה הזו ל-API מניחה שיש לכם פרויקט קיים בשם example-project עם קבוצת MIG אזורית שנמצאת ב-us-east1-b ויש לה כלי להתאמה אוטומטית לעומס בשם example-autoscaler עם מדיניות קיימת להתאמה אוטומטית לעומס.
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler
{
"autoscalingPolicy": {
"scalingSchedules": {
"example-onetime-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"
}
}
}
}
כדי להשתמש בדוגמה הזו עבור MIG אזורי, צריך לשלוח בקשה דומה באמצעות השיטה regionAutoscalers.patch ולציין אזור במקום תחום.
כמה לוחות זמנים
בדוגמה הזו של קריאה ל-API נעשה שימוש ב-method autoscalers.patch לשני לוחות זמנים, workday-capacity ו-january-30-2030-schedule, בקריאה אחת. בקריאה הזו ל-API מניחים שיש לכם פרויקט קיים בשם example-project עם קבוצת MIG אזורית שנמצאת ב-us-east1-b ויש לה כלי להתאמה אוטומטית לעומס בשם example-autoscaler עם מדיניות קיימת להתאמה אוטומטית לעומס.
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler
{
"autoscalingPolicy": {
"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"
}
}
}
}
כדי להשתמש בדוגמה הזו עבור MIG אזורי, צריך לשלוח בקשה דומה באמצעות השיטה regionAutoscalers.patch ולציין אזור במקום תחום.
אחרי שיוצרים תזמון, יכול להיות שצריך לחכות כמה דקות עד שפרטי הסטטוס שלו יופיעו.
הצגת רשימה של תזמוני שינוי הגודל
אפשר לראות רשימה של לוחות הזמנים של קבוצת ה-MIG. ברשימה מוצגים ההגדרות ופרטי הסטטוס של כל תזמון.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG ברשימה.
בכרטיס Autoscaling שבכרטיסייה Overview מוצגים האותות שהוגדרו ב-MIG.
לצד פרטי האות, מעבירים את מצביע העכבר מעל הסמל ולוחצים על ניהול.
בחלונית תזמון שינוי גודל מוצגת רשימה של תזמוני שינוי הגודל הקיימים.
gcloud
כדי לקבל פרטים על קבוצת MIG, כולל ההגדרות והסטטוסים של לוחות הזמנים של שינוי הגודל, משתמשים בפקודה gcloud compute instance-groups managed describe.
gcloud compute instance-groups managed describe MIG_NAME \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת מופעים מנוהלת (MIG) עם מדיניות קיימת של שינוי גודל אוטומטי. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
כל לוחות הזמנים של שינוי הגודל של ה-MIG מפורטים בפלט, כמו בדוגמה הבאה.
...
autoscalingPolicy:
...
maxNumReplicas: 30
minNumReplicas: 0
...
scalingSchedules:
example-onetime-schedule:
description: Schedule a minimum of 30 VMs all day for January 30, 2030
disabled: false
durationSec: 86400
minRequiredReplicas: 30
schedule: 0 0 30 1 * 2030
timeZone: America/New_York
workday-capacity:
description: Have at least 10 VMs every Monday through Friday from 8:30
AM to 5 PM UTC
disabled: false
durationSec: 30600
minRequiredReplicas: 10
schedule: 30 8 * * Mon-Fri
timeZone: UTC
...
scheduledScalingStatus:
example-onetime-schedule:
state: READY
nextStartTime: '2030-01-30T00:00:00.000-05:00'
lastStartTime: ''
workday-capacity:
state: READY
nextStartTime: '2020-11-04T08:30:00.000-00:00'
lastStartTime: '2020-11-03T08:30:00.000-00:00'
...
REST
כדי לקבל פרטים על קנה מידה אוטומטי, כולל ההגדרות והסטטוסים של לוחות הזמנים של שינוי הגודל, משתמשים בשיטה autoscalers.get עבור MIG אזורי או בשיטה regionAutoscalers.get עבור MIG אזורי.
לדוגמה, כדי להציג את התזמונים של קבוצת MIG אזורית שיש לה מדיניות קיימת של התאמה אוטומטית לעומס, מריצים את הקריאה הבאה:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/AUTOSCALER_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG.
כל לוחות הזמנים של שינוי הגודל של ה-MIG מפורטים בפלט, כמו בדוגמה הבאה.
{
...
"autoscalingPolicy": {
...
"minNumReplicas": 0,
"maxNumReplicas": 30,
...
"scalingSchedules": {
"example-onetime-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",
"disabled": false
},
"workday-capacity": {
"minRequiredReplicas": 10,
"schedule": "30 8 * * Mon-Fri",
"timeZone": "",
"durationSec": 30600,
"description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC",
"disabled": false
},
...
}
},
"scheduledScalingStatus": {
"example-onetime-schedule": {
"state": "READY",
"nextStartTime": "2030-01-30T00:00:00.000-05:00",
"lastStartTime": ''
},
"workday-capacity": {
"state": "READY",
"nextStartTime": "2020-11-04T08:30:00.000",
"lastStartTime": "2020-11-03T08:30:00.000"
},
...
},
...
}
עריכת לוח זמנים של שינוי גודל
אפשר לערוך תזמון קיים של שינוי גודל כדי לשנות את ההגדרות שלו, חוץ מהשם של התזמון. אפשר גם להשבית או להפעיל מחדש לוח זמנים של שינוי גודל.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG ברשימה.
לוחצים על Edit.
לוחצים על גודל הקבוצה והתאמה אוטומטית לעומס כדי להרחיב את הקטע.
בקטע Autoscaling schedules (תזמון של שינוי גודל אוטומטי), לוחצים על Manage (ניהול).
בחלונית Scaling Schedules (תזמון שינוי גודל) מוצגת רשימה של תזמוני שינוי הגודל הקיימים.
מסמנים את התיבה של לוח הזמנים לשינוי הגודל שרוצים לערוך.
בחלק העליון של החלונית Scaling Schedules (לוחות זמנים לשינוי גודל), לוחצים על Edit (עריכה).
בחלונית Edit scaling schedule (עריכת לוח זמנים לשינוי גודל), משנים את השדות שרוצים לשנות. מידע נוסף על כל שדה זמין במאמר בנושא יצירת תזמון לשינוי גודל.
בסיום, לוחצים על שמירה.
יכול להיות שתצטרכו לחכות כמה דקות עד שהשינויים ייכנסו לתוקף. כדי לעקוב אחרי הסטטוס של לוחות הזמנים, לוחצים על רענון בחלק העליון של החלונית לוחות זמנים של שינוי גודל.
כדי לסגור את החלונית תזמון שינוי גודל, לוחצים על סיום.
השינויים בלוחות הזמנים נשמרים ומיושמים ב-MIG.
כדי לצאת מדף העריכה, לוחצים על שמירה.
gcloud
כדי לעדכן לוח זמנים קיים לשינוי גודל, משתמשים בפקודה gcloud compute instance-groups managed update-autoscaling.
משתמשים בדגל --update-schedule כדי לציין את שם התזמון שרוצים לעדכן. מוסיפים את הדגלים האחרים לפי הצורך לשינויים.
gcloud compute instance-groups managed update-autoscaling MIG_NAME \
--update-schedule=SCHEDULE_NAME \
[--schedule-cron="CRON_EXPRESSION"] \
[--schedule-duration-sec=DURATION] \
[--schedule-time-zone="TIME_ZONE"] \
[--schedule-min-required-replicas=MIN_REQ_REPLICAS] \
[--schedule-description="DESCRIPTION"] \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת MIG עם לוח זמנים קיים לשינוי גודל. -
SCHEDULE_NAME: השם של לוח הזמנים הקיים לשינוי גודל. -
CRON_EXPRESSION: אופציונלי: שעת ההתחלה החדשה והחזרה של התזמון הזה, בפורמט של ביטוי cron. -
DURATION: אופציונלי: משך הזמן החדש, בשניות, שבו לוח הזמנים הזה פעיל. -
TIME_ZONE: אופציונלי: אזור הזמן החדש של IANA לשעת ההתחלה של התזמון – לדוגמה,Europe/Paris. ערך ברירת המחדל הואUTC. -
MIN_REQ_REPLICAS(אופציונלי): מספר חדש של המופעים המינימליים הנדרשים שהלוח הזה מספק כשהוא פעיל. -
DESCRIPTION: אופציונלי: תיאור חדש של תזמון ההתאמה. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
REST
כדי לעדכן את תזמוני שינוי הגודל הקיימים של MIG, משתמשים בשיטה autoscalers.patch עבור MIG אזורי או בשיטה regionAutoscalers.patch עבור MIG אזורי.
לדוגמה, אפשר לבצע את הקריאה הבאה כדי לערוך תזמון של קבוצת MIG אזורית שיש לה מדיניות קיימת של התאמה אוטומטית לעומס:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"scalingSchedules": {
"SCHEDULE_NAME": {
"minRequiredReplicas": MIN_REQ_REPLICAS,
"schedule": "CRON_EXPRESSION",
"timeZone": "TIME_ZONE",
"durationSec": DURATION,
"description": "DESCRIPTION"
},
...
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG. -
SCHEDULE_NAME: השם של לוח הזמנים הקיים לשינוי גודל. -
MIN_REQ_REPLICAS(אופציונלי): מספר חדש של המופעים המינימליים הנדרשים שהלוח הזה מספק כשהוא פעיל. -
CRON_EXPRESSION: אופציונלי: שעת ההתחלה החדשה והחזרה של התזמון הזה, בפורמט של ביטוי cron. -
TIME_ZONE: אופציונלי: אזור הזמן החדש של IANA לשעת ההתחלה של התזמון – לדוגמה,Europe/Paris. ערך ברירת המחדל הואUTC. -
DURATION: אופציונלי: משך הזמן החדש, בשניות, שבו לוח הזמנים הזה פעיל. -
DESCRIPTION: אופציונלי: תיאור חדש של תזמון ההתאמה.
השבתה והפעלה מחדש של תזמון שינוי גודל
האפשרות 'שינוי גודל לפי לוחות זמנים' מופעלת כברירת מחדל. משביתים לוח זמנים אם רוצים למנוע את הפעלתו אבל לשמור את ההגדרה שלו. כדי להשתמש שוב בלוח זמנים שהושבת, צריך להפעיל אותו מחדש.
אם אין לכם צורך לשמור את לוח הזמנים או שהגעתם למגבלה של 128 לוחות זמנים ל-MIG הזה, מחקתם את לוח הזמנים. כדי להשבית את ההתאמה האוטומטית לעומס של MIG, צריך להשבית את ההתאמה האוטומטית לעומס.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG ברשימה.
לוחצים על Edit.
לוחצים על גודל הקבוצה והתאמה אוטומטית לעומס כדי להרחיב את הקטע.
בקטע Autoscaling schedules (תזמון של שינוי גודל אוטומטי), לוחצים על Manage (ניהול).
בחלונית Scaling Schedules (תזמון שינוי גודל) מוצגת רשימה של תזמוני שינוי הגודל הקיימים.
מסמנים את תיבות הסימון עבור לוחות הזמנים של התאמה לעומס שרוצים להשבית או להפעיל.
כדי להשבית את לוחות הזמנים שנבחרו:
- בחלק העליון של החלונית תזמון שינוי גודל, לוחצים על השבתה.
- בתיבת הדו-שיח השבתת תזמונים, לוחצים על השבתה.
כדי להפעיל את זמני ההשבתה שנבחרו:
- בחלק העליון של החלונית Scaling Schedules (תזמון שינוי גודל), לוחצים על Enable (הפעלה).
- בתיבת הדו-שיח הפעלת תזמונים, לוחצים על הפעלה.
יכול להיות שתצטרכו לחכות כמה דקות עד שהשינויים ייכנסו לתוקף. כדי לעקוב אחרי הסטטוס של לוחות הזמנים, לוחצים על רענון בחלק העליון של החלונית לוחות זמנים של שינוי גודל.
כדי לסגור את החלונית תזמון שינוי גודל, לוחצים על סיום.
השינויים בלוחות הזמנים נשמרים ומיושמים ב-MIG.
כדי לצאת מדף העריכה, לוחצים על שמירה.
gcloud
כדי להשבית או להפעיל מחדש תזמון של שינוי גודל, משתמשים בפקודה gcloud compute instance-groups managed update-autoscaling.
השבתה של לוח זמנים לשינוי גודל
כדי להשבית תזמון של שינוי גודל, משתמשים בדגל --disable-schedule.
gcloud compute instance-groups managed update-autoscaling MIG_NAME \
--disable-schedule=SCHEDULE_NAME \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת MIG עם לוח זמנים קיים לשינוי גודל. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי הקיבולת שרוצים להשבית. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
הפעלה מחדש של לוח זמנים לשינוי גודל
כדי להפעיל מחדש תזמון של שינוי גודל, משתמשים בדגל --enable-schedule.
gcloud compute instance-groups managed update-autoscaling MIG_NAME \
--enable-schedule=SCHEDULE_NAME \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת MIG עם לוח זמנים קיים לשינוי גודל. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי הקיבולת שרוצים להפעיל מחדש. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
REST
כדי להשבית או להפעיל מחדש את לוחות הזמנים של שינוי הגודל של MIG, משתמשים בשיטת autoscalers.patch עבור MIG אזורי או בשיטת regionAutoscalers.patch עבור MIG אזורי.
השבתת לוחות זמנים של שינוי גודל
לכל תוכנית שינוי גודל שרוצים להשבית, מגדירים את השדה disabled לערך true.
לדוגמה, כדי להשבית לוח זמנים של קבוצת MIG אזורית שיש לה מדיניות קיימת של התאמה אוטומטית לעומס, מריצים את הקריאה הבאה:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"scalingSchedules": {
"SCHEDULE_NAME": {
"disabled": true
},
...
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי הקיבולת שרוצים להשבית.
הפעלה מחדש של תזמון שינוי גודל
לכל תוכנית שינוי גודל שרוצים להפעיל מחדש,
מגדירים את השדה disabled לערך false.
לדוגמה, כדי להפעיל מחדש תזמון של קבוצת MIG אזורית שיש לה מדיניות קיימת של התאמה אוטומטית לעומס, אפשר להשתמש בקריאה הבאה:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"scalingSchedules": {
"SCHEDULE_NAME": {
"disabled": false
},
...
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי הקיבולת שרוצים להפעיל מחדש.
מחיקת לוח זמנים לשינוי גודל
כדי להסיר לוחות זמנים של שינוי גודל מקבוצת MIG, צריך למחוק אותם.
מוחקים לוחות זמנים שכבר לא צריך, כמו לוחות זמנים עם OBSOLETE סטטוס.
למדיניות של התאמה אוטומטית לעומס צריך להיות תמיד לפחות אות אחד של התאמה לעומס. אם אין אותות אחרים של התאמה אוטומטית לעומס, אי אפשר למחוק את כל לוחות הזמנים של התאמה לעומס בלי למחוק את כל מדיניות ההתאמה האוטומטית לעומס. אם רוצים למחוק את כל לוחות הזמנים של שינוי הגודל אבל לשמור את מדיניות שינוי הגודל האוטומטי, צריך להוסיף לפחות אות אחד של שינוי גודל לפני שמוחקים את כל לוחות הזמנים.
אם רוצים למנוע מלוח זמנים להפוך לפעיל ולשמור אותו לשימוש עתידי, משביתים את לוח הזמנים. כדי למחוק את הגדרת ההתאמה האוטומטית לעומס של MIG, צריך למחוק את המידרוג האוטומטי.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG ברשימה.
לוחצים על Edit.
לוחצים על גודל הקבוצה והתאמה אוטומטית לעומס כדי להרחיב את הקטע.
בקטע Autoscaling schedules (תזמון של שינוי גודל אוטומטי), לוחצים על Manage (ניהול).
בחלונית Scaling Schedules (תזמון שינוי גודל) מוצגת רשימה של תזמוני שינוי הגודל הקיימים.
- מסמנים את תיבות הסימון לצד לוחות הזמנים של התאמה לעומס שרוצים למחוק.
- בחלק העליון של החלונית Scaling Schedules (תזמון שינוי גודל), לוחצים על Delete (מחיקה).
בתיבת הדו-שיח מחיקת לוחות זמנים, מקלידים
deleteולוחצים על מחיקה.יכול להיות שתצטרכו לחכות כמה דקות עד שהשינויים ייכנסו לתוקף. כדי לעקוב אחרי הסטטוס של לוחות הזמנים, לוחצים על רענון בחלק העליון של החלונית לוחות זמנים של שינוי גודל.
כדי לסגור את החלונית תזמון שינוי גודל, לוחצים על סיום.
השינויים בלוחות הזמנים נשמרים ומיושמים ב-MIG.
כדי לצאת מדף העריכה, לוחצים על שמירה.
gcloud
כדי למחוק תזמון של שינוי גודל, משתמשים בפקודה gcloud compute instance-groups managed update-autoscaling עם הדגל --remove-schedule.
gcloud compute instance-groups managed update-autoscaling MIG_NAME \
--remove-schedule=SCHEDULE_NAME \
[--zone=ZONE | --region=REGION]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת MIG עם לוח זמנים קיים לשינוי גודל. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי גודל שרוצים למחוק. -
ZONEאוREGION: אופציונלי: האזור שבו נמצאת קבוצת ה-MIG.
REST
כדי למחוק לוחות זמנים לשינוי גודל של קבוצת MIG, משתמשים בשיטה autoscalers.patch לקבוצת MIG אזורית או בשיטה regionAutoscalers.patch לקבוצת MIG אזורית. לכל לוח זמנים לשינוי גודל שרוצים למחוק,
מגדירים את ההגדרה של לוח הזמנים ל-null
לדוגמה, מבצעים את הקריאה הבאה כדי למחוק תזמון של קבוצת MIG אזורית שיש לה מדיניות קיימת של שינוי גודל אוטומטי:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
{
"autoscalingPolicy": {
"scalingSchedules": {
"SCHEDULE_NAME": null
...
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת קבוצת ה-MIG. -
AUTOSCALER_NAME: השם של קנה מידה אוטומטי קיים. לרוב, השם הזה זהה לשם של קבוצת ה-MIG. -
SCHEDULE_NAME: השם של לוח הזמנים לשינוי גודל שרוצים למחוק.
מושגים
בקטע הזה מוסברים מושגים שקשורים ליצירה ולשימוש בלוחות זמנים לשינוי גודל, כולל הגדרות של לוחות זמנים ופרטים על אופן הפעולה שלהם.
הגדרות של תזמון שינוי גודל
כשיוצרים ומשנים את לוחות הזמנים של שינוי הגודל של MIG, כל לוח זמנים של שינוי הגודל מכיל את ההגדרות הבאות:
מספר המופעים המינימלי הנדרש: מספר המכונות הווירטואליות שנדרשות ב-MIG כשתזמון שינוי הגודל הזה פעיל.
כשהתזמון הזה פעיל, בקבוצת ה-MIG יש לפחות את המספר הזה של מכונות וירטואליות, אבל יכול להיות שיהיו יותר מכונות וירטואליות בהתאם להגדרות אחרות של התאמה אוטומטית לעומס. בנוסף, הגודל של קבוצת ה-MIG תמיד מוגבל על ידי המספר המינימלי והמקסימלי של המופעים שהוגדרו בהגדרות ההתאמה האוטומטית לעומס של קבוצת ה-MIG.
אזור זמן: אזור הזמן של IANA שמבוסס על מיקום, לפרשנות של שעת ההתחלה של התזמון.
רשימת הערכים הזמינים מוגדרת על ידי מסד הנתונים של אזורי הזמן של IANA – לדוגמה,
Europe/Paris. אם לא מציינים אזור זמן, המערכת משתמשת ב-UTCכברירת מחדל. חלק מאזורי הזמן של IANA משתנים בהתאם לשעון הקיץ. מידע על ההשפעה של שעון הקיץ על לוחות זמנים של שינוי גודל זמין במאמר בנושא שעון קיץ.משך זמן: משך הזמן שבו רוצים שהתזמון של שינוי הגודל יהיה פעיל.
לוח הזמנים של שינוי הגודל פעיל משעת ההתחלה שלו למשך הזמן שהוגדר. משך הזמן המינימלי הוא 5 דקות. במהלך הזמן הזה, הכלי להתאמה אוטומטית לעומס (autoscaler) משנה את גודל קבוצת ה-MIG כך שיהיו בה לפחות מכונות וירטואליות כמספר המכונות הנדרש שמוגדר בלוח הזמנים. אחרי משך הזמן שצוין, אם כבר לא צריך את הקיבולת הנוכחית, המערכת להרחבת קיבולת אוטומטית מתחילה להסיר מכונות וירטואליות אחרי תקופת הייצוב ובהתאם לאמצעי הבקרה להקטנת הקיבולת שהוגדרו.
לוחות זמנים לשינוי גודל הם דו-כיווניים. המכונות הווירטואליות יוסרו בזמן ההפסקה שציינתם, וגודל הקבוצה יצטמצם לגודל המינימלי שהגדרתם, אלא אם ציינתם אותות אחרים להתאמה אוטומטית לעומס.
כשמשתמשים ב-Google Cloud CLI או ב-REST, צריך להגדיר את שעת ההתחלה ואת המחזוריות של לוח זמנים לשינוי גודל באמצעות ביטוי cron. עם זאת, כשמשתמשים במסוף Google Cloud , אפשר להגדיר את שעת ההתחלה ואת המחזוריות של לוח זמנים באמצעות ביטוי cron או ההגדרות הבאות:
שעת התחלה: השעה ביום שבה רוצים שהתזמון של שינוי הגודל יתחיל לפעול.
בשעת ההתחלה, לוח הזמנים של שינוי הגודל מתחיל ליצור מכונות וירטואליות בכל פעם שהגודל של ה-MIG קטן ממספר המופעים שנדרש בלוח הזמנים. מגדירים את שעת ההתחלה כך שיהיה מספיק זמן להפעלה ולאתחול של מכונות וירטואליות חדשות. לדוגמה, אם עומס העבודה נמשך 10 דקות מרגע יצירת המכונה הווירטואלית ועד שהיא מתחילה לפעול, צריך להגדיר את זמן ההתחלה כך שיהיה 10 דקות לפני הזמן שבו המכונות הווירטואליות צריכות להיות מוכנות.
חזרה: אם ומתי לוח הזמנים של שינוי הגודל חוזר על עצמו, בהתאם לאפשרויות הבאות:
- פעם אחת: תזמון חד-פעמי שמתחיל רק בתאריך שנבחר.
- כל יום: תזמון חוזר שמתחיל כל יום.
- כל שבוע: לוח זמנים חוזר שמתחיל כל שבוע בימים שנבחרו בשבוע – למשל, כל יום שני עד שישי.
- כל חודש: לוח זמנים חוזר שמתחיל כל חודש בימים שנבחרו בחודש – למשל, ביום הראשון של כל חודש. הימים האחרונים בחודש (29 עד 31) רלוונטיים רק בחודשים שבהם יש תאריכים כאלה.
ביטויי Cron
אפשר להגדיר את שעת ההתחלה ואת המחזוריות של תזמון שינוי הגודל באמצעות ביטוי cron. Cron הוא מתזמן משימות מבוסס-זמן ששימש במקור במערכות הפעלה של מחשבים דמויי Unix.
תחביר
ביטוי Cron הוא מחרוזת שמורכבת מחמישה או שישה שדות שמופרדים ברווחים. בטבלה הבאה מוגדרים השדות של ביטוי cron והערכים האפשריים לכל שדה.
| דקה | שעה | היום בחודש | חודש | היום בשבוע | שנה (אופציונלי) |
|---|---|---|---|---|---|
| 0-59 | 0-23 | 1-31 | 1-12 (ינואר-דצמבר) כאשר 1=Jan,
2=Feb, ... 12=Dec |
0-6 (ראשון עד שבת) או 1-7 (שני עד ראשון) כאשר 0=Sun,
1=Mon, ... 6=Sat,
7=Sun |
2000-2036 או כל שנה ( *) אם לא צוין תאריך |
בנוסף לשימוש בערכים האלה, אפשר להשתמש גם בתווים מיוחדים בכל שדה בביטוי cron:
| תו מיוחד | משמעות | דוגמה |
|---|---|---|
* |
הכול | אם השדה של היום בחודש, השדה של היום בשבוע והשדה של השנה (אם הוא כלול) מוגדרים כל אחד לערך *, התזמון מתחיל כל יום. |
- |
טווח | אם השדה day of week (היום בשבוע) מוגדר ל-1-5 או ל-Mon-Fri, התזמון מתחיל כל שבוע מיום שני עד יום שישי. |
, |
list | אם שדה החודש מוגדר ל-5,7,9 או ל-May,Jul,Sep, התזמון מתחיל בכל חודש מאי, יולי וספטמבר. |
/ |
שלב | אם השדה month מוגדר ל-*/3, התזמון מתחיל בחודש הראשון וחוזר על עצמו כל 3 חודשים לאחר מכן: ינואר, אפריל, יולי ואוקטובר. |
כשכותבים ביטוי cron, חשוב להתייחס לנקודות הבאות:
- כדי להפריד בין השדות של ביטוי Cron, משתמשים ברווחים. חשוב לזכור לא להוסיף רווחים מיותרים בשדה שבו נעשה שימוש בתווים מיוחדים.
- כשמציינים גם יום בשבוע וגם יום בחודש (כששני השדות לא מוגדרים לערך
*), התזמון מתבסס על איחוד הערכים האלה ולא על החיתוך שלהם. לדוגמה, התזמון0 8 1 * Monמתחיל ב-8:00 בבוקר בכל יום שני וביום הראשון של כל חודש. התזמון הזה לא מתחיל בשעה 8:00 רק בימי שני שהם גם היום הראשון של החודש. - אפשר להשתמש באפס תווים מיוחדים או יותר בכל שדה של ביטוי cron.
לדוגמה, אם רוצים שתזמון יתחיל בכל חודש חוץ מחודש מאי,
אפשר להגדיר את השדה month ל-
1-4,6-12(רשימה של שני טווחים ללא רווחים). - כשמשתמשים בטווחים (
-), אי אפשר להשתמש ב-0-7או ב-Sun-Sunבשדה של יום בשבוע. כדי לציין כל יום בשבוע, צריך להשתמש במקום זאת ב-*,0-6,1-7,Sun-SatאוMon-Sun. - כשמשתמשים בשלבים (
/), חשוב לזכור שביטויי cron הם חסרי מצב, ולכן לפעמים השלבים לא אחידים. לדוגמה, אם רוצים שתזמון יפעל כל 6 שעות, אפשר להגדיר את השדה hours (שעות) ל-*/6, שפועל כמו רשימה של כל הכפולות התקפות של 6 (0,6,12,18). השלבים שווים כי 24 שעות מחולקות לחלקים של 6 שעות. עם זאת, אם מגדירים בשדה השעות את הערך*/7, התזמון לא יתחיל תמיד במרווחים של 7 שעות. במקום זאת,*/7מתנהג כמו רשימה של כל הכפולות התקפות של 7 (0,7,14,21), כלומר התזמון יכול להתחיל בשעות 00:00, 07:00, 14:00 ו-21:00.
לוחות זמנים חוזרים לעומת לוחות זמנים חד-פעמיים
בהתאם לאופן כתיבת הביטוי של cron, יכול להיות שהתזמון יפעל פעם אחת או יחזור על עצמו באופן מחזורי. כדי ליצור לוח זמנים שמופעל רק פעם אחת, צריך לציין את שדה השנה. לדוגמה, הביטוי cron 0 0 30 1 * 2030 מגדיר לוח זמנים להתחלה חד-פעמית בלבד, בחצות ב-30 בינואר 2030.
כדי ליצור לוח זמנים שחוזר על עצמו, משתמשים בתווים מיוחדים כדי לתאר מתי לוח הזמנים הזה אמור לחזור על עצמו. לדוגמה, הביטוי cron
30 8 * * Mon-Fri מגדיר לוח זמנים
להתחלה בשעה 8:30 בכל יום שני, שלישי, רביעי, חמישי ושישי.
מידע על סטטוס התזמון
מציגים את רשימת לוחות הזמנים של שינוי הגודל כדי לראות את הסטטוס שלהם. לוח זמנים לשינוי גודל כולל את פרטי הסטטוס הבאים:
- סטטוס (
state): הסטטוס הנוכחי של לוח הזמנים לשינוי הגודל, שמיוצג על ידי אחד מהמצבים הבאים:- מוכן (
READY): לוח הזמנים הזה מוכן אבל עדיין לא פעיל. הכלי לשינוי גודל קבוצת המכונות ממתין להפעלה הבאה של התזמון הזה. - פעיל (
ACTIVE): לוח הזמנים הזה פעיל. הכלי Autoscaler מנסה לספק לקבוצת ה-MIG הזו לפחות את המופעים הנדרשים שצוינו בלוח הזמנים הזה. - לא רלוונטי (
OBSOLETE): התוקף של לוח הזמנים הזה פג, והוא לא יהיה פעיל יותר. הכלי לשינוי גודל קבוצת המכונות מתעלם מהתזמון הזה כי אין מקרים עתידיים. - מושבת (
DISABLED): אי אפשר להפעיל את לוח הזמנים הזה כי הוא הושבת באופן ידני. הכלי לשינוי גודל אוטומטי מתעלם מלוח הזמנים הזה עד שהוא מופעל מחדש.
- מוכן (
- המופע האחרון (
lastStartTime): חותמת הזמן של הפעם האחרונה שבה לוח הזמנים הזה של שינוי הגודל הפך לפעיל. התאריך והשעה בפועל של ההפעלה האחרונה. לדוגמה, אם יש לכם לוח זמנים להגדלת הקיבולת שהושבת, עם חזרה יומית, שעת התחלה של 10:00 ומשך של שעתיים, ואתם מפעילים מחדש את לוח הזמנים ב-11:00 היום, אזlastStartTimeהוא 11:00 היום. - הפעלה הבאה (
nextStartTime): חותמת הזמן של הפעם הבאה שבה התזמון הזה יופעל.
לוחות זמנים חופפים
יכול להיות שיהיה חפיפה בין שני לוחות זמנים או יותר של שינוי גודל, בהתאם לשעת ההתחלה, למחזוריות, למשך ולאזור הזמן. אם יש יותר מלוח זמנים פעיל אחד, המערכת להגדלת הקיבולת באופן אוטומטי משתמשת במספר הגדול ביותר של מכונות וירטואליות שנדרשות מכל לוחות הזמנים הפעילים של שינוי הגודל. כך תוכלו לוודא שתמיד יש מספיק קיבולת כדי לענות על הצרכים של כל לוח זמנים פעיל. לדוגמה, אם יש לכם תזמון שחוזר על עצמו כל יום בין 8:00 ל-10:00 ודורש לפחות 10 מכונות וירטואליות, אבל יש לכם גם תזמון חד-פעמי ליום שלם שדורש לפחות 20 מכונות וירטואליות, אז התכונה לשינוי גודל אוטומטי תשנה את גודל ה-MIG ל-20 מכונות וירטואליות לפחות באותו יום. האפשרות הזו שימושית אם יש לכם דרישות קיבולת קבועות וחוזרות, אבל לפעמים אתם צריכים יותר כדי לטפל באירועים חד-פעמיים. ההתנהגות הזו מאפשרת לכם לתזמן קיבולת בלי לדאוג שהיא תוחלף על ידי תזמונים אחרים עם דרישות קטנות יותר של מכונות וירטואליות.
בנוסף, מידרוג אוטומטי תמיד מספק את המספר הגדול ביותר של מכונות וירטואליות שנדרש על ידי אות פעיל כלשהו של התאמה אוטומטית לעומס. מידע נוסף זמין במאמר בנושא שימוש במדיניות של שינוי גודל אוטומטי עם כמה אותות.
שעון קיץ
הפרטים של שעון הקיץ (DST) משתנים בהתאם לאזור הזמן של IANA שמבוסס על מיקום בלוח הזמנים של ההרחבה.
אם באזור הזמן של לוח הזמנים יש שעון קיץ, שעת ההתחלה של לוח הזמנים תשתנה אוטומטית כדי להישאר מסונכרנת עם השעה במיקום שנבחר. לדוגמה, אם יוצרים תזמון שינוי גודל שמתחיל כל יום בשעה 7:00 באזור הזמן America/New_York, התזמון הזה יתחיל בכל פעם שהשעה תהיה 7:00 בניו יורק, לפי שעון הקיץ של החוף המזרחי או שעון החוף המזרחי, בהתאם.
לוחות זמנים של שינוי גודל תמיד פועלים למשך כל התקופה שהגדרתם, אבל יכול להיות שיהיו להם זמני התחלה וסיום שונים מעט בימים שבהם מתבצע מעבר לשעון קיץ. הסיבה לכך היא שבמעבר לשעון קיץ יש תקופות מעבר – פרק זמן שמוגדר כלא קיים ביום הראשון של שעון הקיץ, ומופיע פעמיים ביום האחרון של שעון הקיץ. לדוגמה, אם שעון הקיץ באזור הזמן שלכם מתחיל בשעה 2:00 והמעבר הוא של שעה אחת, השעה משתנה מ-1:59:59 ל-3:00, כך שהמסגרת של השעות 2:00 עד 2:59:59 נדלגת. אם שעון הקיץ באזור הזמן הזה מסתיים בשעה 2:00, השעה משתנה מ-2:59:59 ל-2:00, כך שטווח הזמן מ-2:00 עד 2:59:59 חוזר על עצמו. בהצהרות הבאות מניחים שאזור הזמן של לוח הזמנים שלכם משתמש במעבר לשעון קיץ של שעה אחת.
ביום הראשון של שעון הקיץ (כשמדלגים על שעה אחת), השינויים הבאים מתרחשים בלוחות זמנים של שינוי גודל:
- פעולות מתוזמנות שפעילות במהלך השעה שדילגו עליה עדיין יפעלו למשך כל משך הזמן שלהן, אבל כדי לפצות על השעה שדילגו עליה, הפעולות האלה יסתיימו שעה אחת אחרי שעת הסיום שלהן בימים שבהם לא מתבצע מעבר לשעון קיץ. בדרך כלל, שעת הסיום של לוח הזמנים היא הסכום של שעת ההתחלה ומשך הזמן שמוגדרים בלוח הזמנים. אבל אם יש מעבר לשעון קיץ של שעה אחת בזמן שתזמון פעיל, ומשך הזמן ושעת ההתחלה נשארים קבועים, אז שעת הסיום של התזמון הזה תהיה שעה אחת יותר מסכום שעת ההתחלה ומשך הזמן של התזמון.
- פעולות מתוזמנות שהוגדרו להתחיל במהלך השעה שדילגו עליה מתחילות גם הן שעה אחרי שעת ההתחלה שלהן בימים שבהם לא מתבצע מעבר לשעון קיץ.
ביום האחרון של שעון הקיץ (כששעה אחת חוזרת על עצמה), יש שינויים כאלה בלוחות זמנים של שינוי גודל:
- לוחות זמנים שפעילים במהלך השעה שחוזרת על עצמה עדיין יפעלו למשך כל משך הזמן שלהם, אבל כדי לפצות על השעה שחוזרת על עצמה, לוחות הזמנים האלה יסתיימו שעה אחת לפני שעת הסיום שלהם בימים שבהם לא מתבצע מעבר לשעון קיץ. בדרך כלל, שעת הסיום של לוח הזמנים היא הסכום של שעת ההתחלה ומשך הזמן שמוגדרים בלוח הזמנים. אבל אם שעון הקיץ חוזר שעה אחורה בזמן שהתזמון פעיל, והמשך ושעת ההתחלה נשארים קבועים, שעת הסיום של התזמון תהיה שעה אחת פחות מסכום שעת ההתחלה והמשך של התזמון.
- תזמונים שהוגדרו להתחיל במהלך תקופת המעבר יתחילו בשעה שהוגדרה, אבל הם לא יופעלו מחדש במהלך הפעם השנייה שבה שעת ההתחלה חוזרת על עצמה.
ברוב אזורי הזמן שבהם מונהג שעון קיץ, משך המעבר הוא שעה אחת. אבל אם אזור הזמן של לוח הזמנים שלכם משתמש בתקופת מעבר שונה – כמו אזור הזמן Australia/Lord_Howe שמשתמש במעברים של 30 דקות – אתם יכולים לצפות לאותה התנהגות. פשוט מחליפים את 1 hour
בזמן המעבר הרלוונטי לשעון קיץ.
המאמרים הבאים
- מידע נוסף על שימוש במדיניות של התאמה אוטומטית לעומס עם כמה אותות
- מידע נוסף על ניהול של קנה מידה אוטומטי
- מידע נוסף על ההחלטות של הכלי לשינוי גודל אוטומטי
- איך מגדירים שינוי גודל אוטומטי של קבוצות MIG על סמך סוגים אחרים של אותות לשינוי גודל אוטומטי:
- ניצול המעבד (CPU)
- קיבולת ההגשה של איזון העומסים
- מעקב אחרי מדדים