במאמר הזה נסביר על המושג תקציבי שיבושים באשכול ואיך אפשר להתאים אותם אישית לצורכי הסביבה שלכם. תקציבים להפרעות באשכול הם כלי אחד בחבילת תכונות שמאפשרות לאדמין של הפלטפורמה לצמצם את ההפרעות בעומסי העבודה, ולשפר את הביצועים, המהימנות והאבטחה שלהם.
שדרוגים של אשכולות – שמתרחשים כש-GKE מעדכן את הגרסה שבה נעשה שימוש במישור הבקרה ובצמתים של האשכול – יכולים להיות מקור עיקרי לשיבושים באשכול GKE. למידע נוסף על השדרוגים, קראו את המאמר מידע על שדרוגים של אשכולות GKE. כדי ללמוד על כל התכונות האחרות לצמצום ההפרעות במהלך שדרוגי אשכולות, קראו את הקטע שליטה בשדרוגי אשכולות במסמך הזה. מידע כללי נוסף על שינויים במחזור החיים של אשכולות, מעבר לשדרוגי אשכולות, זמין במאמר ניהול שינויים במחזור החיים של אשכולות כדי לצמצם את ההפרעות.
מהו תקציב לשיבוש אשכולות
כדי לוודא שהשדרוגים האוטומטיים לא ישבשו את הפעילות של האשכול בתדירות גבוהה מדי, מערכת GKE מחילה כברירת מחדל תקציב לשיבוש האשכול כדי להגדיר מרווח מינימלי בין שדרוגים אוטומטיים של מישור הבקרה של האשכול. GKE גם מחיל את התקציב הזה בין יצירת האשכול לבין השדרוג האוטומטי הראשון של מישור הבקרה. בנוסף, אם משדרגים ידנית את רמת הבקרה של האשכול, GKE מתחשב בתקציב ההפרעה של האשכול כשמבצעים את השדרוג האוטומטי הבא. תמיד אפשר לשדרג את האשכול באופן ידני, גם אם השדרוג הזה חורג מתקציב ההפרעות של האשכול.
באשכול, GKE משדרג אוטומטית את מישור הבקרה לפני הצמתים. לכן, התקציב הזה מגדיר גם את הקצב המינימלי של שדרוגים אוטומטיים של צמתי אשכולות.
ל-GKE יש תקציבים להפרעות באשכולות שמוגדרים כברירת מחדל עבור סוגים שונים של שדרוגי גרסה:
- שדרוגים של גרסאות תיקון: 24 שעות
- שדרוגים של גרסאות משניות: 30 ימים
GKE מחיל את התקציב על אותם סוגים של שדרוגים. לדוגמה, ב-GKE יש המתנה של 24 שעות בין שדרוג אשכול בין גרסאות התיקון 1.35.0-gke.1403000 ו-1.35.0-gke.1624000, ו-30 ימים בין 1.34 ל-1.35. עם זאת, מערכת GKE ממתינה 24 שעות אחרי שדרוג משני לפני שהיא מבצעת שדרוג של תיקון.
ב-GKE משתמשים בתקציב לשיבושים באשכול רק לשדרוגי אשכולות, ולא לסוגים אחרים של שינויים באשכול GKE.
תקציב ההפרעה לאשכול שונה מחלונות זמן לתחזוקה והחרגות, אבל אפשר לשלב ביניהם. מדיניות התחזוקה קובעת מתי אפשר לבצע תחזוקה באשכול GKE ומתי אי אפשר, ואילו תקציב ההפרעה באשכול קובע מרווח זמן ספציפי בין שדרוגים של האשכול.
מתי כדאי להתאים אישית את תקציב השיבושים של האשכול
תקציבי השיבוש של האשכולות ב-GKE משקפים איזון בין העיתוי של השדרוגים לבין הימנעות משדרוגים עוקבים ואופטימיזציה של היציבות. עם זאת, יכול להיות שהערכים הכלליים האלה לא יתאימו לסביבת האשכול שלכם.
אם אתם רוצים לשלוט בפרק הזמן המינימלי הזה בין השדרוגים האוטומטיים של האשכול, אתם יכולים להגדיר את תקציב ההפרעה לאשכול. לדוגמה, נבחן את התרחישים הבאים:
- יש לכם תהליך מותאם אישית להערכת גרסת תיקון של מישור הבקרה של GKE לפני העברת הגרסה לסביבת הייצור, והתהליך הזה נמשך פרק זמן מסוים שגדול מתקציב ברירת המחדל של האשכול.
- יש לכם אשכולות גדולים, ולכן נדרש יותר זמן כדי לשדרג את כל מאגרי הצמתים. אתם רוצים לשמור על עקביות יחסית בין הגרסאות במאגרי הצמתים האלה. לכן, אתם מקטינים את התדירות של שדרוגי תיקוני האבטחה, משדרגים מדי חודש ומאפשרים חלונות זמן לתחזוקה בתדירות גבוהה כדי להבטיח ששדרוגי מאגר הצמתים יסתיימו בזמן.
הגדרת תקציב הפרעות לאשכול לשדרוגים אוטומטיים
אם יש לכם צורך ספציפי בשליטה במרווח הזמן בין שני שדרוגים משניים או בין שני שדרוגים של תיקוני אבטחה, אתם יכולים להגדיר תקציבים משלכם לשיבושים באשכול. עם זאת, מומלץ להתחיל בהגדרה של חלון תחזוקה כדי להגדיר זמן חוזר לתחזוקת אשכול GKE. אחר כך, אפשר להתאים אישית את המרווח בין השדרוגים באמצעות תקציב ההפרעה של האשכול.
מומלץ להשתמש בתקציב ההפרעות באשכול יחד עם הכלים האחרים שזמינים ב-GKE לשליטה בשדרוגים של אשכולות. ההגדרות האלה, שפועלות עם כל שאר כלי השדרוג, משפיעות רק על התזמון של שדרוג אוטומטי של אשכול לגרסה חדשה ב-GKE. GKE עדיין פועל לפי חלונות הזמן לתחזוקה וההחרגות, לפי הסדר של רצף ההשקה ולפי כל השיטות המומלצות הרגילות שמשמשות בדרך כלל לשדרוגים אוטומטיים.
תקציב ההפרעות שמוגדר כברירת מחדל באשכול הוא 24 שעות לשדרוגי תיקון ו-30 ימים לשדרוגים משניים. אפשר להגדיר את המרווחים לכל משך זמן בין 0 ל-90 ימים. עם זאת, חשוב לשים לב לנקודות הבאות כשמעדכנים את הערכים האלה:
- מומלץ לא להגדיר את מרווח הזמן לשדרוגי תיקון ליותר מ-30 ימים, אלא אם יש לכם תהליך ספציפי של אימות גרסה שאורך יותר זמן. אם תשדרגו בתדירות נמוכה יותר מ-30 יום, יכול להיות שתפספסו תיקונים קריטיים.
- מומלץ לאפשר שדרוגים קלים בתדירות שמקובלת בסביבת האשכול שלכם. אם מגדירים את המרווח בין השדרוגים המשניים למקסימום של 90 ימים, גדל הסיכוי ש-GKE יצטרך לשדרג את האשכול מהגרסה המשנית כשהתמיכה בה תסתיים. GKE פועל לפי תקציב נפרד להפרעות באשכול לשדרוגים משניים של 7 ימים, כשגרסה משנית מגיעה לסוף התמיכה, והוא לא פועל לפי תקציב להפרעות באשכול שהגדרתם. מידע נוסף זמין במאמר שדרוגים אוטומטיים בסיום התמיכה.
- מומלץ להגדיר את מרווח הזמן לשדרוגי תיקונים לתקופה קצרה יותר ממרווח הזמן לשדרוגים קלים.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את המשימות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז לאתחל את ה-CLI של gcloud. אם כבר התקנתם את ה-CLI של gcloud, הריצו את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שבגרסאות קודמות של ה-CLI של gcloud אי אפשר להריץ את הפקודות שבמסמך הזה.
הגדרת תקציב ההפרעה של האשכול
אם עדיין לא עשיתם זאת, מומלץ להגדיר חלון זמן לתחזוקה.
כדי להגדיר תקציב מותאם אישית להפרעות ב-cluster, משתמשים בדגלים הבאים כשיוצרים או מעדכנים cluster באמצעות ה-CLI של gcloud:
- שדרוגים משניים:
--maintenance-minor-version-disruption-interval=MINOR_INTERVAL - שדרוגי תיקון:
--maintenance-patch-version-disruption-interval=PATCH_INTERVAL
במקרה של הדגלים האלה, מחליפים את MINOR_INTERVAL או PATCH_INTERVAL, בהתאמה, במשך זמן בשניות בין 0 ימים (0s) ל-90 ימים (7776000s).
אפשר להשתמש בדגלים האלה במצבים הבאים:
- יצירת אשכול:
- Autopilot:
gcloud container clusters create-auto - רגיל:
gcloud container cluster create
- Autopilot:
- עדכון אשכול:
gcloud container cluster update
אפשר להשתמש בדגלים בו-זמנית או בנפרד.
איפוס תקציב ההפרעות של האשכול לערכי ברירת המחדל
כדי לאפס את תקציב ההפרעות באשכול לערכי ברירת המחדל של 24 שעות לשדרוגי תיקונים ו-30 ימים לשדרוגים קלים, אפשר להשתמש בדגלים הבאים:
- שדרוגים משניים:
--clear-maintenance-minor-version-disruption-interval - שדרוגי תיקונים:
--clear-maintenance-patch-version-disruption-interval
משתמשים בדגלים האלה כשמעדכנים אשכול באמצעות הפקודה gcloud container cluster
update.
אפשר להשתמש בדגלים בו-זמנית או בנפרד.