במסגרת ההתאמה האוטומטית לעומס, המערכת מוסיפה מכונות וירטואליות (הרחבה אופקית) או מסירה מכונות וירטואליות (צמצום אופקי) מקבוצת מופעי המכונה המנוהלים (MIG). במאמר הזה מוסבר איך המערכת לקביעת קנה מידה אוטומטי מחליטה מתי לשנות את קנה המידה של קבוצות ה-MIG.
איך מגדירי קנה מידה אוטומטיים מחשבים את הגודל המומלץ ומשפיעים על גודל היעד
כשמגדירים התאמה אוטומטית לעומס בקבוצת MIG, המערכת עוקבת כל הזמן אחרי הקבוצה ומחשבת את הגודל המומלץ – מספר המכונות הווירטואליות שנדרשות כדי לטפל בעומס שנצפה. לאחר מכן, קבוצת ה-MIG משתמשת בהמלצה הזו כדי להגדיר את גודל היעד של הקבוצה.
חישוב הגודל המומלץ
המידרוג האוטומטי מחשב מחדש את הגודל המומלץ באופן קבוע, על סמך:
- כברירת מחדל, המידרוג האוטומטי מגדיר את הגודל המומלץ לטיפול בעומס השיא שנצפה במהלך תקופת הייצוב.
- אם התאמה אוטומטית לעומס חיזויית מופעלת, המידרוג האוטומטי חוזה את העומס העתידי על סמך היסטוריית השימוש במעבד ומגדיר את הגודל המומלץ על סמך החיזוי.
כדי לבדוק את הגודל המומלץ, אפשר לצפות בתרשים Group size במסוף Google Cloud . אם אתם משתמשים ב-Google Cloud CLI או ב-Compute Engine API, קבלו את המידע על ההתאמה האוטומטית לעומס וחפשו את השדה recommendedSize בפלט.
מגבלות על הגודל המומלץ
הגודל הסופי המומלץ כפוף למגבלות הבאות:
- מספר מינימלי ומקסימלי של מכונות וירטואליות: הגודל חייב להיות בטווח שמוגדר במדיניות ההתאמה האוטומטית לעומס.
- אמצעי בקרה לצמצום אופקי (scale-in): אם הגדרתם את אמצעי הבקרה לצמצום אופקי במדיניות ההתאמה האוטומטית לעומס, המנגנון להתאמה אוטומטית לעומס מגביל את הירידה המומלצת בגודל בבת אחת, כדי למנוע ירידות פתאומיות בקיבולת.
ההשפעה על גודל היעד
התגובה של קבוצת ה-MIG לגודל המומלץ תלויה בmode של ה-autoscaler:
-
ON: קבוצת ה-MIG מגדירה את גודל היעד לגודל המומלץ ומשנה את קנה המידה של הקבוצה בהתאם. -
ONLY_SCALE_OUT: גודל היעד גדל רק אם הגודל המומלץ גדל. הוא לא יורד גם אם הגודל המומלץ יורד. -
OFF: גודל היעד לא משתנה. המידרוג האוטומטי עדיין מחשב את הגודל המומלץ ברקע, אבל לא מחיל אותו על גודל היעד.
אם תמחקו את הגדרת ה-autoscaler, הוא יפסיק לחשב את הגודל המומלץ.
פערים בין מדדי הניצול בפועל לבין מדדי היעד
כשמשתמשים במדיניות התאמה לעומס (autoscaling) עם אותות מבוססי-מדדים, יכול להיות שבקבוצות קטנות יותר של מכונות, הניצול בפועל של קבוצת המכונות והניצול המטורגט ייראו רחוקים זה מזה. הסיבה לכך היא שהמידרוג האוטומטי תמיד פועל באופן שמרני, ומעגל כלפי מעלה או כלפי מטה כשהוא מפרש את נתוני הניצול וקובע כמה מכונות להוסיף או להסיר. כך המידרוג האוטומטי לא יוסיף מעט מדי משאבים או יסיר יותר מדי משאבים.
לדוגמה, אם הגדרתם יעד ניצול של 0.7 והאפליקציה חורגת מיעד הניצול, יכול להיות שהמידרוג האוטומטי יקבע שהוספה של 1.5 מכונות וירטואליות (VM) תפחית את הניצול לכמעט 0.7. אי אפשר להוסיף 1.5 מכונות וירטואליות, ולכן המידרוג האוטומטי מעגל את המספר כלפי מעלה ומוסיף שתי מכונות. יכול להיות שהפעולה הזו תפחית את ניצול המעבד הממוצע לערך נמוך מ-0.7, אבל היא מבטיחה שלאפליקציה יהיו מספיק משאבים לתמיכה.
באופן דומה, אם המידרוג האוטומטי קובע שהסרה של 1.5 מכונות וירטואליות תגדיל את הניצולת קרוב מדי ל-0.7, הוא יסיר רק מכונה אחת.
בקבוצות גדולות יותר עם יותר מכונות וירטואליות, הניצול מחולק בין מספר גדול יותר של מכונות, והוספה או הסרה של מכונות וירטואליות גורמת לפער קטן יותר בין הניצול בפועל לבין ניצול היעד.
אם אתם משתמשים בהתאמה אוטומטית לעומס שמבוססת על לוח זמנים עם אות אחר להתאמה אוטומטית לעומס, יכול להיות שלוח זמנים פעיל ידרוש יותר מכונות וירטואליות ממה שצריך לניצול. במצבים כאלה, הניצול בפועל נמוך יותר מניצול היעד, כי לוח הזמנים של ההתאמה האוטומטית לעומס קובע את הגודל המומלץ של קבוצת המכונות.
עיכובים בהרחבה אופקית בהתאם לעומס (scale out)
כשמגדירים התאמה אוטומטית לעומס, מציינים תקופת אתחול שמשקפת את משך הזמן שלוקח למכונות הווירטואליות לבצע אתחול. ההמלצה של ה-autoscaler להרחבה אופקית בהתאם לעומס (scale out) תתקבל רק אם הניצול הממוצע של מכונות שלא עוברות אתחול גדול מהניצול המטורגט.
אם תגדירו ערך של תקופת אתחול שהוא ארוך משמעותית מהזמן שלוקח לאתחל מכונה, יכול להיות שה-autoscaler יתעלם מנתוני ניצול לגיטימיים, ויעריך בחסר את הגודל הנדרש של הקבוצה.
עיכובים בהקטנת קנה המידה
לצורך הקטנת ההתאמה לעומס, המנגנון להתאמה אוטומטית לעומס מחשב את גודל היעד המומלץ של הקבוצה על סמך עומס השיא במהלך תקופת הייצוב.
מעקב אחרי השימוש במהלך תקופת הייצוב עוזר למנגנון ההתאמה האוטומטית לעומס:
- מוודאים שנתוני השימוש שנאספים מקבוצת המכונות יציבים.
- למנוע מצב שבו המערכת להרחבה אוטומטית מוסיפה או מסירה מכונות באופן רציף ובקצב מוגזם.
- כדי להסיר מכונות באופן בטוח, צריך לוודא שהקבוצה הקטנה יותר מספיקה כדי לתמוך בעומס השיא מתקופת הייצוב.
תקופת הייצוב עשויה להיראות כמו עיכוב בהקטנה, אבל למעשה היא תכונה מובנית של התאמה אוטומטית לעומס. תקופת הייצוב גם מבטיחה שאם מוסיפים מופע חדש לקבוצת מופעי מכונה מנוהלים, המופע יפעל למשך תקופת הייצוב לפני שאפשר יהיה למחוק אותו.
תקופות האתחול של מכונות חדשות לא נכללות בהחלטה אם לצמצם את הקבוצה.
עיכובים בגלל זמן להשלמת תהליך (connection draining)
אם הקבוצה היא חלק משירות לקצה העורפי שמופעל בו זמן להשלמת תהליך (connection draining), יכול להיות שיעברו עד 60 שניות נוספות אחרי סיום הזמן להשלמת התהליך, לפני שהמכונה תוסר או תימחק.
אמצעי בקרה להקטנת קנה המידה
כשמגדירים את אמצעי הבקרה של צמצום אופקי במידרוג אוטומטי, אתם שולטים במהירות של צמצום אופקי. הכלי להתאמה אוטומטית של קנה המידה אף פעם לא מקטין את קנה המידה מהר יותר מהקצב שהגדרתם:
- כשהעומס יורד, המידרוג האוטומטי שומר על גודל הקבוצה ברמה שנדרשת כדי לשרת את שיא העומס שנצפה בתקופת הייצוב. התהליך הזה פועל באותו אופן עם ובלי פקדי הקטנה.
- מנגנון התאמה אוטומטית לעומס בלי אמצעי בקרה להקטנת קנה המידה שומר רק על מספר המכונות הנדרש כדי לטפל בעומס שנצפה לאחרונה. אחרי תקופת הייצוב, המידרוג האוטומטי מסיר את כל המכונות המיותרות בבת אחת. אם העומס יורד בפתאומיות, זה יכול להוביל להקטנה משמעותית של קבוצת המכונות.
- מידרוג אוטומטי עם אמצעי בקרה לצמצום אופקי מגביל את מספר המכונות הווירטואליות שאפשר להסיר בפרק זמן מוגדר (כאן 10 מכונות וירטואליות ב-20 דקות). כך קצב הפחתת המכונות מואט.
- כשיש עלייה חדה בעומס, המנגנון להרחבה אוטומטית מוסיף מכונות חדשות כדי להתמודד עם העומס. עם זאת, בגלל זמן אתחול ארוך, המכונות הווירטואליות החדשות לא מוכנות לטפל בעומס. עם אמצעי הבקרה להקטנת ההתאמה לעומס, הקיבולת הקודמת נשמרה, והמכונות הווירטואליות הקיימות יכלו לטפל בעלייה החדה.
כדי לשלוט בקצב של צמצום ההתאמה לעומס, מגדירים את ההפחתה המקסימלית המותרת של ההתאמה לעומס בתוך חלון זמן נגרר, ובאופן ספציפי:
- ההפחתה המקסימלית המותרת (
maxScaledInReplicas: מספר או אחוז של מכונות וירטואליות). מספר המכונות שעומס העבודה יכול להרשות לעצמו לאבד (מגודל השיא של הקבוצה) בתוך חלון הזמן שצוין. אפשר להשתמש בפרמטר הזה כדי להגביל את מידת ההקטנה של הקבוצה, כך שעדיין תוכלו לטפל בעלייה פתאומית בעומס עד שמכונות נוספות יתחילו לפעול. ככל שההפחתה המקסימלית המותרת נמוכה יותר, כך קצב ההקטנה איטי יותר. - חלון זמן נגרר (
timeWindowSec: שניות). פרק הזמן שבו סביר להניח שאחרי ירידה זמנית בעומס תהיה עלייה חדה, ושבו אתם לא רוצים שהקבוצה תצטמצם מעבר לשיעור המקסימלי המותר. משתמשים בפרמטר הזה כדי להגדיר את חלון הזמן שבו המידרוג האוטומטי יחפש את הגודל המקסימלי שמספיק כדי לשרת את העומס ההיסטורי. מידרוג אוטומטי לא ישנה את הגודל מתחת להפחתה המקסימלית המותרת, שמופחתת מהגודל המקסימלי שנצפה בחלון הזמן הנגרר. ככל שחלון הזמן הנגרר ארוך יותר, כך המידרוג האוטומטי מתחשב בעומס היסטורי גבוה יותר, מה שהופך את הצמצום האופקי בהתאם לעומס לשמרני ויציב יותר.
כשמגדירים אמצעי בקרה לצמצום אופקי, המידרוג האוטומטי מגביל את פעולות הצמצום האופקי להפחתה המקסימלית המותרת מהגודל המקסימלי שנצפה בחלון הזמן הנגרר. השלבים הבאים מתארים את אופן הפעולה של ההתאמה האוטומטית לעומס:
- מעקב רציף אחרי הגודל המקסימלי ההיסטורי שנצפה בחלון הזמן הנגרר.
- המערכת משתמשת בהפחתה המקסימלית המותרת כדי לחשב את הגודל המוגבל של צמצום ההתאמה לעומס (גודל שיא:
maxScaledInReplicas) - מגדירה את הגודל המומלץ של הקבוצה לגודל המוגבל של צמצום קנה המידה. לדוגמה, אם מידרוג אוטומטי ישנה את הגודל של קבוצת מכונות ל-20 מכונות וירטואליות, אבל האילוצים של צמצום קנה המידה מאפשרים צמצום ל-40 מכונות וירטואליות, הגודל המומלץ מוגדר ל-40 מכונות וירטואליות.
באמצעות אמצעי הבקרה להקטנת קבוצת המכונות, המנגנון להתאמה אוטומטית לעומס עוקב באופן רציף אחרי הגודל המקסימלי של קבוצת המכונות בחלון הזמן שמוגדר, כדי לזהות את הגודל המספיק לטיפול בעומס ההיסטורי. המידרוג האוטומטי לא מצמצם אופקית מעבר להפחתה המקסימלית המותרת, שנמדדת מהגודל המקסימלי שנצפה:
לדוגמה, בתרשים הקודם, אמצעי הבקרה של צמצום ההתאמה לעומס מוגדרים לצמצום מקסימלי מותר של 20 מכונות וירטואליות בחלון זמן נגרר של 30 דקות:
- כשהעומס יורד, המידרוג האוטומטי מסיר 20 מכונות וירטואליות, שזה המספר המקסימלי של מכונות שאפשר להסיר לפי ההגדרות של אמצעי הבקרה להקטנת קנה המידה.
- כשהעומס עולה ויורד, המידרוג האוטומטי עוקב כל הזמן אחרי חלון הזמן של 30 הדקות האחרונות כדי לזהות את הגודל המקסימלי שמספיק כדי לטפל בעומס ההיסטורי. הגודל המקסימלי הזה משמש כבסיס לפקדי צמצום ההתאמה לעומס, כדי להגביל את קצב הצמצום. אם ב-30 הדקות האחרונות הגודל המקסימלי היה 70 מכונות וירטואליות, וההפחתה המקסימלית המותרת מוגדרת ל-20 מכונות וירטואליות, המנגנון להתאמה אוטומטית לעומס יכול לצמצם אופקית בהתאם לעומס ל-50 מכונות וירטואליות. אם הגודל הנוכחי הוא 65 מכונות וירטואליות, מידרוג אוטומטי יכול להסיר רק 15 מכונות וירטואליות.
- כשהעומס יורד, המנגנון למידרוג אוטומטי ממשיך להסיר מכונות וירטואליות, אבל מגביל את הקצב ל-20 מכונות לכל היותר מהגודל המקסימלי של קבוצת המכונות שנמדד ב-30 הדקות האחרונות.
ההפחתה המקסימלית המותרת בגודל הקבוצה יכולה לקרות בבת אחת, לכן כדאי להגדיר את ההפחתה המקסימלית המותרת כך שהאפליקציה תוכל להרשות לעצמה לאבד את מספר המכונות הזה בבת אחת. השתמשו בפרמטר של הפחתה מקסימלית מותרת כדי לציין את מידת ההפחתה בקיבולת ההצגה שהאפליקציה יכולה לסבול.
כדי לשפר את הזמינות של אפליקציות עם עומסים פתאומיים וזמני אתחול ארוכים, אפשר להגביל את מספר המכונות הווירטואליות שההתאמה האוטומטית לעומס יכולה להסיר, ולהגדיל את חלון הזמן של המעקב. במיוחד, גודל קבוצת המכונות לא יורד בפתאומיות בתגובה לירידה משמעותית בעומס, אלא יורד בהדרגה לאורך זמן. אם העומס עולה זמן קצר אחרי שהתרחשה הקטנה, מספר המכונות הווירטואליות שנותרו עדיין אמור להיות מסוגל לספוג את העלייה בטווח הסבילות שלכם. בנוסף, צריך להפעיל פחות מכונות וירטואליות כדי לטפל בעלייה החדה.
אפשר להגדיר אמצעי בקרה להקטנה של קבוצות MIG אזוריות וקבוצות MIG של אזורים. ההגדרה זהה בשני המקרים. אמצעי הבקרה של Scale-in פועלים בכל גודל של קבוצה.
פקדי הקטנת קנה מידה לעומת ייצוב של התאמה לעומס (autoscaler)
הגדרת אמצעי בקרה להקטנה לא אומרת שצריך לכבות את מנגנון הייצוב של ההתאמה האוטומטית לעומס. המידרוג האוטומטי תמיד שומר על גודל קבוצת המכונות ברמה שנדרשת כדי לשרת את העומס בשיא, שנצפה במהלך תקופת הייצוב. אמצעי הבקרה על צמצום ההתאמה לעומס נותנים לכם מנגנון נוסף לשליטה בקצב שבו משתנה הגודל של קבוצת המכונות.
| תקופת ייצוב | פקדי Scale-in: חלון זמן נגרר |
|
|---|---|---|
| ניתן להגדרה? | כן, אפשר להגדיר את זה | כן, אפשר להגדיר את זה |
| מה מנוטר? | מעקב אחרי עומס השיא במהלך משך הזמן הקודם שהוגדר בתקופת הייצוב. | מעקב אחרי הגודל המקסימלי של קבוצת המכונות בתקופה הקודמת, שמוגדרת לפי חלון הזמן שחלף. |
| איך זה עוזר? | כך אפשר לוודא שגודל קבוצת המכונות מספיק כדי לשרת את עומס השיא שנצפה במהלך תקופת הייצוב. | מוודאת שגודל קבוצת המכונות לא יקטן ביותר מכונות וירטואליות ממה שעומס העבודה יכול לסבול, כשמטפלים בעומסים חריגים בחלון זמן מסוים. |
פקדי הקטנה עם מצב של התאמה אוטומטית לעומס (autoscaler)
יש שני תרחישים דומים אבל קצת שונים שבהם קבוצת ה-MIG לא מוגדרת להתאמה אוטומטית של קנה מידה, ואתם רוצים להפעיל את ההתאמה האוטומטית. השלבים תלויים בשאלה אם אתם מגדירים התאמה אוטומטית לעומס בפעם הראשונה או שההתאמה אוטומטית לעומס מוגדרת אבל מוגבלת באופן זמני או מושבתת.
הגדרה של התאמה אוטומטית לעומס בפעם הראשונה
אם יש לכם קבוצת MIG ללא התאמה אוטומטית לעומס, ואתם מגדירים התאמה אוטומטית לעומס מאפס, המידרוג האוטומטי משתמש בגודל הנוכחי של קבוצת ה-MIG כנקודת התחלה. לפני הקטנת ההתאמה לעומס, המנגנון להתאמה אוטומטית לעומס משתמש בתקופת הייצוב ואז משתמש באמצעי הבקרה להקטנת ההתאמה לעומס כדי להגביל את קצב הקטנת ההתאמה לעומס:
שינוי המצב של ההתאמה האוטומטית לעומס (autoscaler)
באמצעות מצב התאמה לעומס (autoscaling), אתם יכולים להשבית או להגביל באופן זמני את פעילויות ההתאמה לעומס. ההגדרות של המידרוג האוטומטי נשמרות, והמידרוג האוטומטי ממשיך לבצע חישובים ברקע גם כשהמידרוג האוטומטי מושבת או מוגבל. כשהוא במצב כבוי או מוגבל, ה-autoscaler מביא בחשבון את אמצעי הבקרה להקטנה בחישובים שהוא מבצע ברקע. כל פעילויות ההתאמה האוטומטית לעומס ימשיכו להשתמש בחישובים האחרונים כשתפעילו שוב את ההתאמה האוטומטית לעומס או כשתסירו את ההגבלה:
- כשההגדרה Autoscaler מופעלת, היא פועלת כרגיל (במקרה הזה, עם אמצעי בקרה להקטנת ההתאמה לעומס).
- גם כשההגדרה של autoscaler מושבתת, המערכת מחשבת את הגודל המומלץ של קבוצת המכונות בהתאם לעומס. החישובים של המידרוג האוטומטי עדיין מתחשבים באמצעי הבקרה של הקטנת קנה המידה. עם זאת, כשהמידרוג האוטומטי מושבת, המערכת לא מחשבת את הגודל וקבוצת המכונות נשארת בגודל קבוע עד שמפעילים את המידרוג האוטומטי מחדש.
- כשמפעילים שוב את ההתאמה האוטומטית לעומס, המערכת מחילה מיד את הגודל שחושב קודם לכן. כך אפשר לשנות את הגודל של התמונה מהר יותר. הפעלה מחדש של המידרוג האוטומטי יכולה לגרום לצמצום אופקי פתאומי (במקרה הזה מ-80 ל-40 מכונות וירטואליות). זה בטוח כי החישובים ברקע כבר מביאים בחשבון את אמצעי הבקרה להקטנת ההתאמה לעומס.
התאמה אוטומטית של קבוצת מכונות מנוהלת (MIG) לאפס מכונות
מידרוג אוטומטי יכול לצמצם אופקית את קבוצת ה-MIG לאפס מכונות, בהתאם לשדה minNumReplicas, לאותות המידרוג האוטומטי וללוחות הזמנים שהגדרתם במדיניות המידרוג האוטומטי.
התנאים למידרוג אוטומטי לצמצום אופקי של קבוצת MIG לאפס
מידרוג אוטומטי יכול לצמצם אופקית קבוצת מכונות מנוהלות (MIG) לאפס מכונות, אם מתקיימים כל התנאים הבאים:
המספר המינימלי של המכונות (
autoscalingPolicy.minNumReplicas) מוגדר ל-0.אין לוחות זמנים פעילים שדורשים יותר מאפס מופעים.
במדיניות ההתאמה האוטומטית לעומס אסור להשתמש במדדים הבאים, שתלויים במכונות שפועלות. אם המדיניות כוללת את המדדים האלה, למידרוג האוטומטי נדרשת לפחות מכונה אחת בקבוצה כדי לקבל אות, והקבוצה לא תצמצם אופקית לאפס מכונות.
- ניצול ממוצע של המעבד (CPU)
- קיבולת השירות של איזון עומסים ב-HTTP
- מדדי Cloud Monitoring שנאספים מכל מכונה ב-MIG
אפשר גם לשנות ידנית את הגודל של קבוצת MIG לאפס מכונות, גם אם מדיניות ההתאמה האוטומטית לעומס כוללת מדדים שנאספו מכל מכונה בקבוצת ה-MIG. כדי לשנות ידנית את הגודל של ה-MIG, קראו את המאמר הגדרה ידנית של הגודל של MIG.
תנאי להרחבה אופקית של קבוצת מכונות מנוהלות (MIG) מאפס על ידי כלי לשינוי קנה מידה אוטומטי
כשהגודל של MIG הוא אפס, בין אם הוא הוגדר על ידי המידרוג האוטומטי או שונה ידנית, המידרוג האוטומטי יכול להרחיב אופקית את ה-MIG רק כשאות התאמה לעומס או תזמון פעיל דורשים יותר מאפס מכונות.
אם אות ההתאמה לעומס היחיד במדיניות מבוסס על מדדים שנאספים מכל מכונה, קבוצת ה-MIG לא יכולה להתרחב אופקית מאפס כי אין מכונות בקבוצה שיכולות ליצור את המדדים. במקרים כאלה, כדי להגדיל את גודל היעד של ה-MIG, צריך להגדיר את הגודל של ה-MIG באופן ידני.
התאמה לעומס (autoscaling) חזויה
במאמר שינוי קנה מידה על סמך חיזויים תוכלו לקרוא על התאמה אוטומטית של קנה מידה על סמך חיזויים, כולל איך היא פועלת.
הכנה של ההתאמה האוטומטית לעומס להפסקת המכונות
כשהמידרוג האוטומטי מצמצם אופקית קבוצת MIG, קבוצת ה-MIG קובעת אילו מכונות וירטואליות למחוק. קבוצת ה-MIG מתעדפת מכונות וירטואליות למחיקה על סמך כמה גורמים. למידע נוסף על הגורמים האלה, קראו את המאמר גורמים שמשפיעים על מחיקת מכונות וירטואליות.
לפני עצירת המכונה, כדאי לוודא שהמכונות האלה מבצעות משימות מסוימות, כמו סגירת חיבורים קיימים, השבתה תקינה של אפליקציות או שרתי אפליקציות והעלאת יומנים. אפשר להורות למכונה לבצע את המשימות האלה באמצעות סקריפט כיבוי. סקריפט השבתה פועל במידת האפשר, בפרק הזמן הקצר שבין שליחת בקשת העצירה לבין העצירה בפועל של המכונה. במהלך התקופה הזו, Compute Engine מנסה להריץ את סקריפט הכיבוי כדי לבצע את המשימות שציינתם בסקריפט.
האפשרות הזו שימושית במיוחד אם אתם משתמשים באיזון עומסים עם קבוצת המכונות המנוהלות. אם המכונה לא תקינה, יכול להיות שיעבור זמן מה עד שמאזן העומסים יזהה שהמכונה לא תקינה, ולכן מאזן העומסים ימשיך לשלוח בקשות חדשות למכונה. באמצעות סקריפט השבתה, המכונה יכולה לדווח שהיא לא תקינה בזמן שהיא מושבתת, כדי שמאזן העומסים יפסיק לשלוח תנועה למכונה. למידע נוסף על בדיקות תקינות של איזון עומסים, קראו את הסקירה הכללית על בדיקות תקינות.
מידע נוסף על סקריפטים של כיבוי זמין במאמר סקריפטים של כיבוי.
למידע נוסף על השבתת מכונות, קראו את המאמרים בנושא עצירה או מחיקה של מכונה.
מעקב אחרי תרשימים ויומנים של התאמה לעומס (autoscaling)
ב-Compute Engine יש כמה תרשימים ויומנים שמאפשרים לעקוב אחרי ההתנהגות של קבוצת מופעי המכונה המנוהלים בכל שלב.
אפשר לגשת לתרשימים וליומנים דרך מסוף Google Cloud .
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת מופעי מכונה מנוהלים שרוצים להציג.
בדף של קבוצת מופעי המכונה המנוהלים, לוחצים על הכרטיסייה Monitoring.
בכרטיסייה Monitoring מוצגים תרשימים ויומנים באופן הבא:
בתרשימים מוצגים השינויים במדדים הבאים:
- גודל הקבוצה
- ניצול של התאמה לעומס (autoscaling)
- ניצול יחידת העיבוד המרכזית (CPU)
- קלט/פלט של הדיסק (בייטים)
- קלט/פלט של הדיסק (פעולות)
- בייטים ברשת
- חבילות רשת
כדי לקבל פרטים נוספים על המדד שמוצג בתרשים, מעבירים את העכבר מעל לסמל העזרה שליד שם התרשים.
בחלונית Logs שבתחתית הדף מוצגת רשימה של יומני האירועים של קבוצת מופעי מכונה מנוהלים. כדי להציג את היומנים, לוחצים על הסמל keyboard_capslock Toggle panel "Logs" בחלונית.
כל התרשימים והיומנים קשורים למסגרת זמן אחת. כדי לנתח את התרשימים והיומנים של אירוע מסוים או של טווח תאריכים ספציפי:
כדי להתמקד באירוע מסוים, גוררים את הסמן על התרשים. חלונית היומנים מתרעננת גם היא כדי להציג את היומנים מטווח הזמן שנבחר בתרשים.
כדי להציג את התרשימים והיומנים בטווח תאריכים מסוים, משתמשים בבורר טווח התאריכים.
גודל קבוצת המעקב
בתרשים Group size אפשר לעקוב אחרי מספר המכונות שפועלות ב-MIG. בתרשים הזה, הקו Instances מציין את מספר המכונות שפועלות.
אם הגדרתם התאמה אוטומטית לעומס, בתרשים מוצגים גם הגדלים הבאים:
- Configured min size: המספר המינימלי של מכונות (
minNumReplicas) שהגדרתם במדיניות ההתאמה לעומס. - הגודל המקסימלי שהוגדר: המספר המקסימלי של מכונות (
maxNumReplicas) שהגדרתם במדיניות ההתאמה לעומס. - Recommended size: גודל היעד המומלץ שחושב על ידי שירות ההתאמה האוטומטית לעומס.
מידע נוסף על מדיניות ההתאמה האוטומטית לעומס זמין במאמר התאמה אוטומטית לעומס של קבוצות מכונות.
מעקב אחרי אירועי התאמה לעומס (autoscaling)
התרשים גודל הקבוצה כולל ציר זמן של אירועים שקשורים לגודל הקבוצה. בציר הזמן הזה מוצגים אירועים כמו הגדלה או הקטנה של הקבוצה על ידי הכלי להתאמה לעומס. כשמעבירים את העכבר מעל בלוק של אירוע בציר הזמן, מוצג כרטיס עם פרטי האירוע המתאים, שכולל את הפרטים הבאים:
חותמת זמן: חותמת הזמן של האירוע.
סוג וגודל האירוע: צמצום או הרחבה אופקית בהתאם לעומס. לצד סוג האירוע מופיע הגודל הישן והגודל החדש אחרי האירוע, לדוגמה
6 VMs 1 VM.אות התאמה לעומס (scaling): האות שהפעיל את האירוע, למשל ניצול מעבד (CPU).
ערך האות: הערך בפועל של אות ההתאמה לעומס.
יעד האות: ערך היעד של אות ההתאמה לעומס.
גודל מחושב: מספר המכונות שהמידרוג האוטומטי חישב כדי להגיע ליעד האות.
Limited by: כל הגדרה של התאמה אוטומטית לעומס שהגבילה את הגודל החדש – לדוגמה, מספר המכונות המינימלי או המקסימלי של ה-MIG. אם לא הוחלו אילוצים על הגודל החדש, הפרט הזה לא יופיע בכרטיס.
בתרשים הבא מוצגת דוגמה לציר זמן של אירועים במנגנון להתאמה אוטומטית לעומס. בדוגמה הזו, בכרטיס מוצג אירוע של הקטנת קבוצה, שבו גודל הקבוצה מצטמצם מ-4 מכונות וירטואליות למכונה וירטואלית אחת (1).

איור 1. תרשים של גודל הקבוצה שמציג את ציר הזמן של האירועים.
בהתאם לטווח התאריכים שאתם צופים בו, יכול להיות שאירועים שקרובים זה לזה יקובצו בציר הזמן. במקרה כזה, בתרשים מוצג מספר האירועים המקובצים. לדוגמה, אם בכרטיס מוצגים 5 אירועים, המשמעות היא שחמישה אירועי התאמה לעומס התרחשו בטווח הזמן הזה. כדי לראות את האירועים האלה כמשבצות נפרדות בציר הזמן, מגדילים את התצוגה של התרשים. אפשר גם לראות את הפרטים של האירועים המקובצים בלחיצה על View events בכרטיס.
מעקב אחרי התאמה אוטומטית לעומס חזויה
ב-Compute Engine יש תרשים למעקב אחרי התחזיות של ההתאמה האוטומטית לעומס. כדי לראות את התרשים הזה, לוחצים על הכותרת Group size בתרשים הראשון ובוחרים באפשרות Predictive autoscaling.
אם המידרוג האוטומטי מופעל, אתם יכולים לראות איך התחזיות של המידרוג האוטומטי קובעות את הגודל של קבוצת המכונות. אם ההתאמה האוטומטית לעומס לא מופעלת, עדיין אפשר לראות את החיזויים של המידרוג האוטומטי ולהשתמש בהם כדי לקבל החלטות לגבי גודל הקבוצה.
המידע הבא יעזור לכם להבין את התרשים הזה.
- הקו הכחול מציין את מספר המופעים בקבוצת מופעי המכונה המנוהלים.
- הקו הירוק מציג את מספר המכונות שהמידרוג האוטומטי חזה.
- אם הקו הירוק נמצא מתחת לקו הכחול, יש כמות גדולה של קיבולת זמינה וכנראה שהמכונות הווירטואליות לא מנוצלות מספיק.
- אם הקו הירוק נמצא מעל הקו הכחול, נותרה מעט קיבולת, אם בכלל, וצריך להוסיף עוד מכונות לקבוצת המכונות.
- הקווים האדומים האופקיים המקווקווים מציינים את המספר המינימלי והמקסימלי של המכונות שמותרות בקבוצת המכונות.
הצגת הודעות סטטוס
כאשר המידרוג האוטומטי נתקל בבעיה בהתאמה לעומס, הוא מחזיר הודעת אזהרה או שגיאה. אתם יכולים לבדוק את הודעות הסטטוס האלה בשתי דרכים.
הצגת הודעות סטטוס בדף Instance groups
אפשר לראות את הודעות הסטטוס ישירות בדף Instance groups ב-Google Cloud console.
- נכנסים לדף Instance groups במסוף Google Cloud .
מחפשים קבוצות של מכונות שמופיע סמל אזהרה לפני השם שלהן.
לדוגמה:
כדי לראות את הפרטים של הודעת הסטטוס, מעבירים את הסמן מעל סמל הסטטוס.
הצגת הודעות סטטוס בדף הסקירה הכללית של קבוצת המכונות
אפשר לעבור ישירות לדף הסקירה הכללית של קבוצת מכונות ספציפית כדי לראות את הודעות הסטטוס הרלוונטיות.
- נכנסים לדף Instance groups במסוף Google Cloud .
- לוחצים על קבוצת המכונות שרוצים לראות את הודעות הסטטוס שלה.
- בדף של קבוצת המכונות, בודקים את הודעת הסטטוס שמתחת לשם של קבוצת המכונות.
הודעות סטטוס נפוצות שמוחזרות
כאשר המידרוג האוטומטי נתקל בבעיה בהתאמה לעומס, הוא מחזיר הודעת אזהרה או שגיאה. ריכזנו כאן כמה הודעות נפוצות והסבר על המשמעות שלהן.
All instances in the instance group are unhealthy (not in RUNNING state). If this is an error, check the instances.- כל המכונות בקבוצת המכונות נמצאות במצב שהוא לא
RUNNING. אם זה נעשה בכוונה, אפשר להתעלם מההודעה הזו. אם זה לא מכוון, צריך לפתור את הבעיה בקבוצת המכונות. The number of instances has reached the maxNumReplicas. The autoscaler cannot add more instances.- כשיוצרים את ה-autoscaler, מציינים את המספר המקסימלי של מכונות שיכולות להיות בקבוצת המכונות. המידרוג האוטומטי מנסה להרחיב אופקית את קבוצת המכונות כדי לעמוד בביקוש, אבל הגיע אל
maxNumReplicas. במאמר עדכון של כלי להתאמה לעומס (autoscaler) מוסבר איך לעדכן אתmaxNumReplicasלמספר גדול יותר. The monitoring metric that was specified does not exist or does not have the required labels. Check the metric.אתם משתמשים במדד של Cloud Monitoring כדי לבצע התאמה אוטומטית לעומס, אבל המדד שציינתם לא קיים, חסרות לו התוויות הנדרשות או שאין לסוכן השירות של Compute Engine גישה אליו.
- בהתאם לסוג המדד (רגיל או מותאם אישית), צריך להשתמש בתוויות שונות. מידע נוסף זמין במאמר שינוי קנה מידה על סמך מדד Monitoring.
- מוודאים שלסוכן השירות של Compute Engine יש את התפקיד
compute.serviceAgentב-IAM. כדי להוסיף אותו, קראו את המאמר דרישות מוקדמות לשימוש במנגנון התאמה לעומס (autoscaler).
- מוודאים שלסוכן השירות של Compute Engine יש את התפקיד
Quota for some resources is exceeded. Increase the quota or delete resources to free up more quota.אפשר לקבל מידע על המכסה הזמינה בדף Quota במסוף Google Cloud .
Autoscaling does not work with an HTTP/S load balancer configured for maxRate.קבוצת המכונות מאזנת עומסים באמצעות ההגדרה
maxRate, אבל המידרוג האוטומטי לא תומך במצב הזה. צריך לשנות את ההגדרות או להשבית את ההתאמה האוטומטית לעומס. מידע נוסף עלmaxRateזמין בקטע הגבלות והנחיות במסמכי התיעוד של איזון העומסים.The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any queries from the load balancer. Check that the load balancing configuration is working.בקבוצת המכונות מתבצע איזון עומסים, אבל אין שאילתות נכנסות לקבוצה. יכול להיות שהשירות לא פעיל כרגע, ובמקרה כזה אין סיבה לדאגה. עם זאת, יכול להיות שההודעה הזו מופיעה גם בגלל הגדרה שגויה. לדוגמה, יכול להיות שקבוצת מכונות עם התאמה לעומס היא היעד של יותר ממאזן עומסים אחד, וזה לא נתמך. לרשימה המלאה של ההנחיות, קראו את המאמר הגבלות והנחיות במסמכי התיעוד של איזון העומסים.