שליטה בתדירות השיבושים שנגרמים משדרוגים אוטומטיים

במאמר הזה נסביר על תקציבים לשיבוש אשכולות ואיך אפשר להתאים אותם לצרכים של הסביבה שלכם. תקציבים להפרעות באשכול הם כלי אחד בחבילת תכונות שמאפשרות למנהל פלטפורמה לצמצם את ההפרעות לעומסי העבודה, ולשפר את הביצועים, המהימנות והאבטחה שלהם.

שדרוגים של אשכולות – שמתבצעים כש-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 לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.

הגדרה של תקציב ההפרעה של האשכול

קודם כל, אם עוד לא עשיתם את זה, מומלץ להגדיר חלון תחזוקה.

לאחר מכן, כדי להגדיר תקציב מותאם אישית להפרעות באשכול, משתמשים בדגלים הבאים כשיוצרים או מעדכנים אשכול באמצעות ה-CLI של gcloud:

  • שדרוגים משניים: --maintenance-minor-version-disruption-interval=MINOR_INTERVAL
  • שדרוגי תיקון: --maintenance-patch-version-disruption-interval=PATCH_INTERVAL

במקום הערכים MINOR_INTERVAL או PATCH_INTERVAL, צריך להזין משך זמן בשניות בין 0 ימים (0s) ל-90 ימים (7776000s).

אפשר להשתמש בדגלים האלה במצבים הבאים:

אפשר להשתמש בדגלים בו-זמנית או בנפרד.

איפוס תקציב ההפרעות של האשכול לערכי ברירת המחדל

כדי לאפס את תקציב ההפרעות של האשכול לערכי ברירת המחדל של 24 שעות לשדרוגי תיקון ו-30 ימים לשדרוגים משניים, אפשר להשתמש בדגלים הבאים:

  • שדרוגים משניים: --clear-maintenance-minor-version-disruption-interval
  • שדרוגי תיקון: --clear-maintenance-patch-version-disruption-interval

משתמשים בדגלים האלה כשמעדכנים אשכול באמצעות הפקודה gcloud container cluster update.

אפשר להשתמש בדגלים בו-זמנית או בנפרד.