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

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

שדרוגים של אשכולות – שמתבצעים כש-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 ימים כשגרסה משנית מגיעה לסוף התמיכה, ולא פועל לפי תקציב לשיבוש אשכולים שהגדרתם. מידע נוסף זמין במאמר בנושא שדרוגים אוטומטיים בסיום התמיכה.
  • מומלץ להגדיר את מרווח הזמן של שדרוגי התיקונים לתקופה קצרה יותר ממרווח הזמן של השדרוגים המשניים.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:

  • מפעילים את ממשק Google Kubernetes Engine API.
  • הפעלת Google Kubernetes Engine API
  • כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את gcloud CLI. אם התקנתם בעבר את ה-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.

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