חלונות זמן לתחזוקה והחרגות

בדף הזה מוסבר על חלונות זמן לתחזוקה והחרגות מתחזוקה – אלה מדיניות שמאפשרת לשלוט במועד שבו יכולה להתבצע תחזוקה מסוימת באשכולות שלכם ב-Google Kubernetes Engine ‏ (GKE), כמו שדרוגים אוטומטיים, וגם במועד שבו היא לא יכולה להתבצע. לדוגמה, עסק קמעונאי יכול להגביל את התחזוקה כך שתתבצע רק בערבי ימי חול, ולמנוע תחזוקה אוטומטית במהלך אירוע מכירות מרכזי בתעשייה.

מידע על מדיניות התחזוקה של GKE

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

חלון זמן לתחזוקה הוא חלון זמן שחוזר על עצמו, שבמהלכו מותר לבצע תחזוקה אוטומטית של GKE.

החרגה לצורך תחזוקה היא חלון זמן חד-פעמי שבו אסור לבצע תחזוקה אוטומטית ב-GKE.

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

סוגים אחרים של תחזוקה לא תלויים במדיניות התחזוקה של GKE, כולל פעולות תיקון של מישור הבקרה ותחזוקה של שירותים ש-GKE תלוי בהם, כמו Compute Engine. מידע נוסף מופיע במאמר תחזוקה אוטומטית שלא תואמת למדיניות התחזוקה.

אילו שינויים מכבדים את מדיניות התחזוקה של GKE ואילו לא

לפני שאתם מגדירים מדיניות תחזוקה ב-GKE – חלונות זמן לתחזוקה והחרגות – כדאי לקרוא את הסעיפים הבאים כדי להבין איך GKE והשירותים הקשורים פועלים בהתאם למדיניות הזו, ובאילו מקרים הם לא פועלים בהתאם לה.

תחזוקה אוטומטית בהתאם למדיניות התחזוקה של GKE

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

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

תחזוקה אוטומטית שלא תואמת למדיניות התחזוקה של GKE

חלונות זמן לתחזוקה והחרגות ב-GKE לא חוסמים את כל סוגי התחזוקה האוטומטית. לפני שמגדירים את מדיניות התחזוקה של אשכול GKE, חשוב להבין אילו סוגי שינויים לא מכבדים את חלונות הזמן לתחזוקה וההחרגות.

תחזוקה Google Cloud אחרת

חלונות זמן לתחזוקה ותקופות של תחזוקה ב-GKE לא מונעים תחזוקה אוטומטית של שירותים בסיסיים Google Cloud , בעיקר Compute Engine, או של שירותים שמתקינים אפליקציות באשכול, כמו Cloud Deploy.

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

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

תיקונים ושינוי גודל אוטומטיים

‫GKE מבצע תיקונים אוטומטיים במישורי בקרה. זה כולל תהליכים כמו הגדלת מישור הבקרה לגודל המתאים או הפעלה מחדש של מישור הבקרה כדי לפתור בעיות. ברוב התיקונים המערכת מתעלמת מחלונות הזמן לתחזוקה ומההחרגות, כי אם לא מבצעים את התיקונים האשכולות עלולים לא לפעול.

אי אפשר להשבית את התיקונים של מישור הבקרה. עם זאת, לרוב סוגי האשכולות, כולל אשכולות Autopilot ו אשכולות אזוריים רגילים, יש כמה עותקים של מישורי הבקרה, מה שמאפשר זמינות גבוהה של שרת ה-API של Kubernetes גם במהלך אירועי תחזוקה. אי אפשר לשנות אשכולות אזוריים רגילים, שיש להם רק רמת בקרה אחת, במהלך שינויים בהגדרת רמת הבקרה ותחזוקת האשכול. זה כולל פריסת עומסי עבודה.

לצמתים יש גם פונקציונליות של תיקון אוטומטי, שאפשר להשבית באשכולות רגילים.

תיקון נקודות חולשה קריטיות באבטחה

חלונות זמן לתחזוקה והחרגות יכולים לגרום לעיכובים בהתקנה של תיקוני אבטחה. עם זאת, ל-GKE יש את הזכות לבטל את מדיניות התחזוקה במקרים של פגיעויות אבטחה קריטיות.

תחזוקה של מסד הנתונים של מצב האשכול שמבוסס על Spanner

בחלק מאשכולות GKE נעשה שימוש במסד נתונים של מפתח/ערך ב-Spanner כדי לאחסן את המצב של משאבי Kubernetes API. פעולות תחזוקה במסד הנתונים הזה מתעלמות מחלונות זמן פעילים לתחזוקה ומחריגים. עם זאת, מסד הנתונים של מצב האשכול שמבוסס על Spanner משוכפל ונשאר זמין במהלך אירועי תחזוקה.

שינויים ידניים בהתאם למדיניות התחזוקה של GKE

כדי להחיל את ההגדרה החדשה, צריך ליצור מחדש את הצמתים או את הגדרת הרשת, כולל חלק מהשינויים הבאים:

השינויים האלה מתבצעים בהתאם למדיניות התחזוקה של GKE, כלומר GKE מחכה לחלון זמן לתחזוקה פתוח ומוודא שאין החרגות פעילות שמונעות תחזוקה של הצומת. כדי להחיל את השינויים בצמתים באופן ידני, משתמשים ב-Google Cloud CLI כדי להפעיל את הפקודה gcloud container clusters upgrade ומעבירים את הדגל --cluster-version עם אותה גרסת GKE שמאגר הצמתים כבר פועל בה.

שינויים ידניים שלא תואמים למדיניות התחזוקה של GKE

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

חלונות זמן לתחזוקה

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

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

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

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

‫GKE שומרת לעצמה את הזכות להשיק שדרוגי חירום לא מתוכננים מחוץ לחלונות הזמן לתחזוקה. בנוסף, יכול להיות ששדרוגים נדרשים מתוכנה שיצאה משימוש או מתוכנה לא עדכנית יתבצעו אוטומטית מחוץ לחלונות זמן לתחזוקה.

במאמר הגדרת חלון זמן לתחזוקה מוסבר איך להגדיר חלון זמן לתחזוקה לאשכול חדש או קיים.

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

אזורי זמן לחלונות זמן לתחזוקה

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

כשמגדירים חלונות זמן לתחזוקה

השעות תמיד נשמרות לפי שעון UTC. עם זאת, כשמגדירים את חלון הזמן לתחזוקה, משתמשים ב-UTC או באזור הזמן המקומי.

כשמגדירים חלונות זמן לתחזוקה באמצעות הדגל הכללי יותר --maintenance-window, אי אפשר לציין אזור זמן. כשמשתמשים ב-CLI של gcloud או ב-API, נעשה שימוש ב-UTC, ובמסוף Google Cloud השעות מוצגות לפי אזור הזמן המקומי.

כשמשתמשים בדגלים מפורטים יותר, כמו --maintenance-window-start, אפשר לציין את אזור הזמן כחלק מהערך. אם לא מציינים את אזור הזמן, נעשה שימוש באזור הזמן המקומי.

כשצופים בחלונות זמן לתחזוקה

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

  • כשמשתמשים במסוף Google Cloud כדי לראות מידע על האשכול, השעות תמיד מוצגות באזור הזמן המקומי.
  • כשמשתמשים ב-CLI של gcloud כדי להציג מידע על האשכול, השעות תמיד מוצגות לפי שעון UTC.

בשני המקרים, הערך של RRULE הוא תמיד לפי שעון UTC. כלומר, אם מציינים למשל ימים בשבוע, הימים האלה הם לפי שעון UTC.

החרגות של תחזוקה

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

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

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

אם יש חפיפה בין החרגות לבין חלונות תחזוקה, ההחרגות קודמות.

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

סוגי החרגות תחזוקה

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

החרגות של תחזוקת אשכולות

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

  • ללא שדרוגים – הימנעות מכל פעולת תחזוקה: אתם רוצים להימנע באופן זמני מכל שינוי באשכול במהלך פרק זמן מסוים. זוהי ברירת המחדל של ההיקף.
  • ללא שדרוגים משניים – שמירה על הגרסה המשנית הנוכחית של Kubernetes: אתם רוצים לשמור על הגרסה המשנית של אשכול, למשל כדי להימנע משינויים ב-API או כדי לאמת את הגרסה המשנית הבאה.
  • ללא שדרוגים משניים או שדרוגים של צמתים – מניעת שיבושים בצמתים: אתם רוצים להימנע מפינוי ומשינוי של התזמון של עומסי העבודה שלכם בגלל שדרוגים של צמתים.

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

היקף מישור הבקרה צמתים אורך ההחרגה המקסימלי
שדרוג משני אוטומטי שדרוג אוטומטי של תיקון אבטחה שדרוג משני אוטומטי שדרוג אוטומטי של תיקונים
ללא שדרוגים (ברירת מחדל) אסור אסור אסור אסור התקופה לא יכולה להיות ארוכה מ-90 ימים.
אין שדרוגים משניים אסור מותר אסור מותר

אפשר להגדיר את ההחרגה של התחזוקה באחת מהדרכים הבאות:

אין שדרוגים משניים או שדרוגים של צמתים אסור מותר אסור אסור

כש-GKE משדרג אשכול, המכונות הווירטואליות של מישור הבקרה והצומת מופעלות מחדש. במישורי בקרה, מצב Autopilot ואשכולות אזוריים רגילים שומרים על הזמינות של שרת ה-API של Kubernetes. באשכולות אזוריים, שיש להם צומת אחד של מישור הבקרה, הפעלה מחדש של מכונות וירטואליות גורמת למישור הבקרה להיות לא זמין באופן זמני. בצמתים, הפעלה מחדש של מכונות וירטואליות גורמת לתזמון מחדש של Pods, מה שעלול לשבש באופן זמני את עומסי העבודה הקיימים. אתם יכולים להגדיר את הסבילות שלכם לשיבושים בעומסי העבודה באמצעות תקציב לשיבוש Pod‏ (PDB).

החרגות של תחזוקה במאגר צמתים

אם אתם רוצים למנוע שדרוגים אוטומטיים של צמתים באשכול בחלק ממאגרי הצמתים באשכול Standard, אבל לא בכולם, אתם יכולים להשתמש בהחרגת תחזוקה של מאגר צמתים. לדוגמה, אם יש לכם כמה מאגרי צמתים באשכול שאתם רוצים ש-GKE ישדרג אוטומטית את הצמתים שלהם, אבל יש מאגרי צמתים אחרים שאתם רוצים לנהל את השדרוגים שלהם, אתם יכולים להגדיר החרגות של מאגרי צמתים רק למאגרי הצמתים שדורשים יותר שליטה ידנית.

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

בטבלה הבאה מוסבר איך החרגת התחזוקה הזו מונעת שדרוגים אוטומטיים של מאגרי צמתים:

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

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

תפוגה והפעלה של החרגות

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

התוקף של החרגה מתחזוקה יפוג או שהיא תושבת במועד הבא:

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

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

    מערכת GKE מפעילה מחדש את ההחרגה של התחזוקה אחרי אחד מהמקרים הבאים:

כשהתוקף של החרגת תחזוקה פג (כלומר, הזמן הנוכחי עבר את שעת הסיום שצוינה להחרגה) או כשהיא הופכת ללא פעילה באופן זמני, ההחרגה הזו כבר לא מונעת עדכוני GKE. החרגות אחרות שעדיין בתוקף ימשיכו למנוע עדכונים של GKE.

כשאין יותר החרגות או גורמים אחרים שמונעים את שדרוג האשכול, GKE משדרג בהדרגה את האשכול ליעדי השדרוג האוטומטי שעומדים בדרישות.

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

איך החרגת תחזוקה עוקבת אחרי סיום התמיכה

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

אם הגדרתם אחד מסוגי ההחרגות האלה של תחזוקה כדי לעקוב אחרי תאריך סיום התמיכה, במצבים הבאים GKE מעדכן את שעת הסיום של ההחרגה של התחזוקה כדי לשקף את התאריך החדש של סיום התמיכה:

  • אתם או GKE משדרגים את האשכול לגרסה משנית חדשה.
  • אתם משנים את ההרשמה של האשכול לערוץ המורחב או ממנו.
  • מערכת GKE מעדכנת את תאריך סיום התמיכה בגרסה המשנית של האשכול.

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

מידע נוסף על סיום התמיכה זמין במאמר בנושא מחזור החיים של גרסאות משניות של GKE. כדי לראות את תאריך סיום התמיכה בגרסה המשנית של האשכול, אפשר לעיין במאמר איך בודקים מתי מסתיימת התמיכה בגרסה המשנית של האשכול.

מניעה זמנית של שדרוגים אוטומטיים בסיום התמיכה

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

הפעלת אשכול שמשתמש בגרסת GKE לא נתמכת כרוכה בסיכון משמעותי לאבטחה, לאמינות ולתאימות, כי GKE לא מספק תיקוני אבטחה או תיקוני באגים לגרסאות שהתמיכה בהן הסתיימה. ‫GKE לא יכולה להתחייב לספק תיקונים או עדכונים לגרסאות שהתמיכה בהן הסתיימה.

מידע נוסף זמין במאמר שדרוגים אוטומטיים בסיום התמיכה.

איך החרגות תחזוקה פועלות כשמגדירים את היקף הפריסה של רצף השקה

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

מגבלות על הגדרת החרגות של תחזוקה

יש מגבלות על החרגות מתחזוקת האשכול:

  • אפשר להגביל את ההיקף של שדרוגים אוטומטיים בהחרגה מתחזוקה רק באשכולות שרשומים לערוץ הפצה. באשכולות שלא רשומים לערוץ הפצה (הוצא משימוש), אפשר ליצור רק החרגה של תחזוקה עם ההיקף שמוגדר כברירת מחדל 'ללא שדרוגים'.
  • אפשר להוסיף עד שלוש החרגות של תחזוקה שמוציאות מכלל אפשרות את כל השדרוגים (כלומר, היקף של 'ללא שדרוגים'). צריך להגדיר את ההחרגות האלה כך שיהיו זמינות לפחות 48 שעות של תחזוקה בחלון זמן דינמי של 92 יום.
  • לכל אשכול יכולות להיות עד 20 החרגות של תחזוקת אשכול.
  • אם לא תציינו היקף בהחרגה, ברירת המחדל תהיה "ללא שדרוגים".
  • אי אפשר להגדיר החרגה לצורך תחזוקה שתכלול את תאריך סיום התמיכה של הגרסה המשנית שתואמת להרשמה לערוץ ההפצה של האשכול, או שתחרוג ממנו, אלא כאמצעי זמני לשעת חירום עם ההיקף 'ללא שדרוגים'. כדי להגדיר שעת סיום קבועה בסמוך לסיום התמיכה, אפשר להיעזר בדוגמאות הבאות:

    • באשכול פועלת גרסה משנית בערוץ Stable, שבו לפי לוח הזמנים לפרסום של GKE, סוף התמיכה הרגילה הוא ב-5 ביוני 2025. צריך להגדיר את שעת הסיום של ההחרגה של התחזוקה ל2025-06-05T00:00:00Z או למועד מוקדם יותר.
    • באשכול פועלת גרסה משנית בערוץ המורחב, ובלוח הזמנים של GKE מצוין שתאריך הסיום של התמיכה המורחבת הוא 5 באפריל 2026. צריך להגדיר את שעת הסיום של ההחרגה של התחזוקה ל-2026-04-0500:00:00Z או למועד מוקדם יותר. אם רוצים לשנות את ערוץ ההפצה של האשכול לערוץ אחר, צריך לשנות את שעת הסיום של תקופת ההשבתה לצורך תחזוקה אם היא חורגת מסיום התמיכה הרגילה. מידע נוסף מופיע במאמר שינוי הערוץ של האשכול.

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

להחרגות של תחזוקה במאגר צמתים יש את המגבלות הבאות:

  • האשכול חייב להיות רשום לערוץ הפצה.
  • אפשר להגדיר רק החרגה אחת של תחזוקה לכל מאגר צמתים.
  • אי אפשר להגדיר החרגה מתחזוקה של מאגר צמתים שתתחיל בתאריך ובשעה עתידיים. ההחרגה מתחילה מיד כשמפעילים אותה.
  • אי אפשר להשתמש בהחרגות של תחזוקת מאגר צמתים באשכולות Autopilot, כי GKE מנהל את הצמתים באשכולות Autopilot.
  • החרגה של תחזוקת מאגר הצמתים מונעת רק שדרוגים של צמתים (עדכוני גרסה), ולא מונעת סוגים אחרים של עדכוני צמתים.

החרגות מתחזוקה לא משפיעות על שדרוגים ידניים ועל הגרסאות של צמתים חדשים

החרגות מתחזוקה מונעות שדרוג אוטומטי של מישורי בקרה וצמתים קיימים, בהתאם להיקף ההחרגה מתחזוקה. עם זאת, החרגות תחזוקה לא מונעות את השינויים הבאים:

  • שדרוג ידני של מישור הבקרה או הצמתים של האשכול.
  • יצירת מאגר צמתים רגיל חדש עם גרסה מאוחרת יותר ממאגרי הצמתים הרגילים הקיימים, שבהם החרגה מתחזוקה מונעת שדרוגים אוטומטיים.
  • הקצאת צמתים אוטומטית (NAP) יוצרת את המשאבים הבאים בגרסה מאוחרת יותר מהצמתים הקיימים, שבהם החרגה מתחזוקה מונעת שדרוגים אוטומטיים:
    • מאגרי צמתים חדשים ב-Standard.
    • צמתים חדשים באשכול Autopilot.

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

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

החרגות רבות

אפשר להגדיר כמה החרגות לאשכול, כולל החרגות של מאגר צמתים. ההחרגות האלה יכולות להיות בהיקפים שונים ולחפוף בטווח התאריכים שלהן. תרחיש השימוש של עונת הקניות של סוף השנה הוא דוגמה להחרגות חופפות, שבהן נעשה שימוש גם בהיקף "ללא שדרוגים" וגם בהיקף "ללא שדרוגים קלים".

אם יש חפיפה בין תקופות ההחרגה, והשדרוג נחסם על ידי החרגה פעילה כלשהי (כלומר, השעה הנוכחית היא בתוך תקופת ההחרגה), השדרוג יידחה.

לפי תרחיש השימוש של עונת הקניות של סוף השנה האזרחית, לאשכול מסוים הוגדרו ההחרגות הבאות:

  • אין שדרוגים קלים: 30 בספטמבר עד 15 בינואר
  • ללא שדרוגים: 19 בנובמבר עד 4 בדצמבר
  • ללא שדרוגים: 15 בדצמבר עד 5 בינואר

כתוצאה מהחפיפה בין ההחרגות האלה, השדרוגים הבאים ייחסמו באשכול:

  • שדרוג תיקון למאגר הצמתים ב-25 בנובמבר (נדחה בגלל החרגה של 'אין שדרוגים')
  • שדרוג משני למישור הבקרה ב-20 בדצמבר (נדחה בגלל החרגות של 'אין שדרוגים משניים' ו'אין שדרוגים')
  • שדרוג תיקון למישור הבקרה ב-25 בדצמבר (נדחה בגלל החרגה של 'אין שדרוגים')
  • שדרוג משני למאגר הצמתים ב-1 בינואר (נדחה בגלל החרגות של "ללא שדרוגים משניים" ו "ללא שדרוגים")

הפעולות הבאות יורשו להתבצע באשכול:

  • שדרוג תיקון למישור הבקרה ב-10 בנובמבר (מותר לפי ההחרגה "ללא שדרוגים קלים")
  • שיבוש במכונה וירטואלית בגלל תחזוקה של GKE ב-10 בדצמבר (מותר בגלל החרגה של 'אין שדרוגים משניים')

דוגמאות לשימוש

ריכזנו כאן כמה תרחישים לדוגמה להגבלת היקף העדכונים שיכולים להתבצע.

דוגמה: קמעונאי שמתכונן לעונת החגים של סוף השנה

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

  • ללא שדרוגים משניים: אפשרות להחיל רק עדכוני תיקון על מישור הבקרה ועל הצמתים בין 30 בספטמבר ל-15 בינואר.
  • ללא שדרוגים: הקפאת כל השדרוגים בין 19 בנובמבר ל-4 בדצמבר.
  • ללא שדרוגים: הקפאת כל השדרוגים בין 15 בדצמבר ל-5 בינואר.

אם לא חלים חלונות החרגה אחרים כשחלון ההחרגה של התחזוקה מסתיים, האשכול משודרג לגרסת משנה חדשה של GKE אם גרסה כזו הופצה בין 30 בספטמבר ל-6 בינואר.

דוגמה: חברה שמשתמשת ב-API בגרסת בטא ב-Kubernetes שיוסר

בדוגמה הזו, חברה משתמשת ב-API של CustomResourceDefinition apiextensions.k8s.io/v1beta1, שיוסר בגרסה 1.22. בזמן שהחברה מריצה גרסאות שקודמות ל-1.22, מנהל האשכול מגדיר את ההחרגה הבאה:

  • אין שדרוגים משניים: הקפאת שדרוגים משניים למשך שלושה חודשים בזמן העברת אפליקציות של לקוחות מ-apiextensions.k8s.io/v1beta1 ל-apiextensions.k8s.io/v1.

דוגמה: מסד נתונים מדור קודם של חברה לא עמיד לשדרוגים של מאגר צמתים

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

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

דוגמה: חברה מפעילה שילוב של עומסי עבודה למטרות כלליות ועומסי עבודה שלא יכולים להפסיק לפעול

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

המאמרים הבאים