בדף הזה מוסבר על חלונות תחזוקה והחרגות מתחזוקה. אלה מדיניות שמאפשרת לשלוט במועד שבו אפשר לבצע תחזוקה מסוימת באשכולות, כמו שדרוגים אוטומטיים, באשכולות של Google Kubernetes Engine (GKE). לדוגמה, עסק קמעונאי יכול להגביל את התחזוקה כך שתתבצע רק בערבי ימי חול, ולמנוע תחזוקה אוטומטית במהלך אירוע מכירות מרכזי בתעשייה.
מידע על מדיניות התחזוקה של GKE
מדיניות התחזוקה של GKE, שכוללת חלונות זמן לתחזוקה והחרגות, מאפשרת לכם לקבוע מתי יכולה להתבצע תחזוקה אוטומטית מסוימת באשכולות, כולל שדרוגים של האשכולות ושינויים אחרים בהגדרת הצומת או בטופולוגיית הרשת של האשכול.
חלון זמן לתחזוקה הוא חלון זמן שחוזר על עצמו, שבמהלכו מותרת תחזוקה אוטומטית של GKE.
החרגה של תחזוקה היא חלון זמן חד-פעמי שבו אסור לבצע תחזוקה אוטומטית ב-GKE.
GKE מבצע שינויים אוטומטיים בהתאם למדיניות התחזוקה של האשכול כשיש חלון זמן לתחזוקה פתוח ולא מוגדרת החרגה פעילה מתחזוקה. לכל אשכול אפשר להגדיר חלון זמן לתחזוקה חוזר אחד וכמה החרגות מתחזוקה.
סוגים אחרים של תחזוקה לא תלויים במדיניות התחזוקה של GKE, כולל פעולות תיקון של מישור הבקרה ותחזוקה של שירותים ש-GKE תלוי בהם, כמו Compute Engine. מידע נוסף מופיע במאמר בנושא תחזוקה אוטומטית שלא מתבצעת בהתאם לכללי המדיניות בנושא תחזוקה.
אילו שינויים מכבדים את מדיניות התחזוקה של GKE ואילו לא
לפני שמגדירים מדיניות תחזוקה של GKE – חלונות תחזוקה והחרגות – כדאי לעיין בקטעים הבאים כדי להבין איך GKE ושירותים קשורים מתייחסים אליהם.
תחזוקה אוטומטית בהתאם למדיניות התחזוקה של GKE
באמצעות מדיניות תחזוקה של GKE, אתם יכולים לשלוט בתזמון של סוגי האירועים הבאים, שגורמים לשיבוש זמני באשכול:
- שדרוגים אוטומטיים של אשכולות, כולל שדרוגים של מישור הבקרה ושדרוגים של צמתים. כדי לקבל מידע נוסף על השינויים האלה ועל האופן שבו הם עלולים לגרום לשיבוש זמני בסביבה שלכם, אפשר לעיין במאמרים בנושא שדרוגים של אשכולות Autopilot ושדרוגים של אשכולות רגילים.
- שינויים בהגדרות שמתבצעים על ידי המשתמש וגורמים ליצירה מחדש של צמתים או לשינוי משמעותי בטופולוגיה של הרשת הפנימית של האשכול. מידע נוסף זמין במאמר שינויים ידניים שתואמים למדיניות התחזוקה של GKE.
סוגים אחרים של תחזוקה אוטומטית לא תלויים במדיניות תחזוקה. מידע נוסף מופיע במאמר בנושא תחזוקה אוטומטית שלא מתבצעת בהתאם לכללי המדיניות בנושא תחזוקה.
תחזוקה אוטומטית שלא מתבצעת בהתאם למדיניות התחזוקה של GKE
חלונות זמן לתחזוקה והחרגות ב-GKE לא חוסמים את כל סוגי התחזוקה האוטומטית. לפני שמגדירים את מדיניות התחזוקה של אשכול GKE, חשוב להבין אילו סוגי שינויים לא מתבצעים בחלונות תחזוקה ולא מוחרגים.
תחזוקה Google Cloud אחרת
חלונות ותקופות תחזוקה ב-GKE לא מונעים תחזוקה אוטומטית של שירותים בסיסיים Google Cloud , בעיקר Compute Engine, או של שירותים שמתקינים אפליקציות באשכול, כמו Cloud Deploy.
לדוגמה, צמתים של GKE הן מכונות וירטואליות של Compute Engine שמנוהלות על ידי GKE עבור האשכול. לפעמים מתרחשים אירועים במארח במכונות וירטואליות של Compute Engine, שיכולים לכלול אירועי תחזוקה או שגיאות במארח. ההתנהגות של מכונות ה-VM במהלך האירועים האלה נקבעת על ידי מדיניות התחזוקה של המארח של מכונת ה-VM. כברירת מחדל, ברוב מכונות ה-VM, המשמעות היא העברה פעילה. בדרך כלל המשמעות היא שזמן ההשבתה של הצמתים הוא קצר מאוד או אפסי, וברוב עומסי העבודה, מדיניות ברירת המחדל מספיקה. בחלק מסדרות המכונות של מכונות וירטואליות, אפשר לעקוב אחרי אירוע תחזוקה של המארח ולתכנן אותו וגם להפעיל אירוע תחזוקה של המארח כדי לתזמן אותו בהתאם למדיניות התחזוקה של GKE.
חלק מהמכונות הווירטואליות, כולל אלה עם מעבדי GPU ו-TPU, לא יכולות לבצע מיגרציה פעילה. אם אתם משתמשים במאיצים האלה, כדאי לקרוא איך להתמודד עם שיבושים בגלל תחזוקת צמתים של מעבדי GPU או TPU.
מומלץ לעיין במידע על אירועים במארח, מדיניות תחזוקה של מארחים ולוודא שעומסי העבודה מוכנים לשיבושים, במיוחד אם הם פועלים בצמתים שלא יכולים לבצע מיגרציה פעילה.
תיקונים ושינוי גודל אוטומטיים
GKE מבצע תיקונים אוטומטיים במישורי בקרה. זה כולל תהליכים כמו הגדלת מישור הבקרה לגודל המתאים או הפעלה מחדש של מישור הבקרה כדי לפתור בעיות. ברוב התיקונים מתעלמים מחלונות תחזוקה ומהחרגות, כי אי-ביצוע התיקונים עלול לגרום לאשכולות לא תקינים.
אי אפשר להשבית את התיקונים של מישור הבקרה. עם זאת, לרוב סוגי האשכולות, כולל אשכולות Autopilot ו אשכולות אזוריים רגילים, יש כמה עותקים של מישורי הבקרה, מה שמאפשר זמינות גבוהה של שרת ה-API של Kubernetes גם במהלך אירועי תחזוקה. אי אפשר לשנות אשכולות אזוריים רגילים, שיש להם רק רמת בקרה אחת, במהלך שינויים בהגדרת רמת הבקרה ותחזוקת האשכול. זה כולל פריסה של עומסי עבודה.
לצמתים יש גם פונקציונליות של תיקון אוטומטי, שאפשר להשבית באשכולות רגילים.
תיקון נקודות חולשה קריטיות באבטחה
חלונות תחזוקה והחרגות עלולים לגרום לעיכובים בתיקוני אבטחה. עם זאת, ל-GKE שמורה הזכות לבטל את מדיניות התחזוקה במקרים של פגיעויות אבטחה קריטיות.
תחזוקה של מסד הנתונים של מצב האשכולות שמבוסס על Spanner
חלק מאשכולות GKE משתמשים במסד נתונים של צמדי מפתח/ערך ב-Spanner כדי לאחסן את המצב של משאבי Kubernetes API. פעולות תחזוקה במסד הנתונים הזה מתעלמות מחלונות זמן פעילים לתחזוקה ומחריגים. עם זאת, מסד הנתונים של מצב האשכול שמבוסס על Spanner משוכפל ונשאר זמין במהלך אירועי תחזוקה.
שינויים ידניים בהתאם למדיניות התחזוקה של GKE
כדי להחיל את ההגדרות החדשות, צריך ליצור מחדש את הצמתים או את הגדרות הרשת, כולל חלק מהשינויים הבאים:
- החלפת כתובת ה-IP של מישור הבקרה
- החלפת פרטי הכניסה של מישור הבקרה
- הגדרת צמתים מוגנים
- הגדרת מדיניות רשת
- הגדרת הרשאות גישה בתוך הצומת
- הגדרת NodeLocal DNSCache
- הגדרת GKE Sandbox
השינויים האלה מתבצעים בהתאם למדיניות התחזוקה של 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 ואשכולות אזוריים רגילים שומרים על הזמינות של שרת Kubernetes API. באשכולות אזוריים, שיש להם צומת אחד של רמת הבקרה, הפעלה מחדש של מכונות וירטואליות גורמת לכך שרמת הבקרה לא זמינה באופן זמני. בצמתים, הפעלה מחדש של מכונות וירטואליות מפעילה תזמון מחדש של Pod, שיכול לשבש באופן זמני עומסי עבודה קיימים. אפשר להגדיר את רמת הסובלנות לשיבוש עומס העבודה באמצעות תקציב לשיבוש Pod (PDB).
החרגות מתחזוקת מאגר הצמתים
אם אתם רוצים למנוע שדרוגים אוטומטיים של צמתים באשכול בחלק ממאגרי הצמתים באשכול הרגיל, אבל לא בכולם, אתם יכולים להשתמש בהחרגת תחזוקה של מאגר צמתים. לדוגמה, אם יש לכם כמה מאגרי צמתים באשכול שבהם אתם רוצים ש-GKE ישדרג את הצמתים באופן אוטומטי, אבל יש מאגרי צמתים אחרים שבהם אתם רוצים לנהל את השדרוגים של מאגרי הצמתים, אתם יכולים להגדיר החרגות של מאגרי צמתים רק למאגרי הצמתים שדורשים יותר שליטה ידנית.
כשמפעילים את סוג ההחרגה הזה מתחזוקה, מערכת GKE משדרגת את האשכול באופן אוטומטי רק כשנדרש, כשהגרסה המשנית של מאגר הצמתים מגיעה לסוף תקופת התמיכה. מידע נוסף זמין במאמר שדרוגים אוטומטיים בסיום התמיכה.
בטבלה הבאה מוסבר איך ההחרגה הזו של תחזוקה מונעת שדרוגים אוטומטיים של מאגר הצמתים:
| סוג ההחרגה מתחזוקה | צמתים | אורך ההחרגה המקסימלי | |
|---|---|---|---|
| שדרוג משני אוטומטי | שדרוג אוטומטי של תיקוני אבטחה | ||
| מאגר צמתים | אסור | אסור | שעת הסיום מציינת את סיום התמיכה בגרסה המשנית של האשכול. אם לא תשדרגו את האשכול באופן ידני לגרסה המשנית הבאה לפני סיום התמיכה, GKE יבצע את השדרוגים האוטומטיים הנדרשים בסיום התמיכה, ואז יפעיל מחדש את ההחרגה מתחזוקה, כשהשעה של סיום התמיכה תהיה השעה של סיום התמיכה בגרסה המשנית החדשה. מידע נוסף זמין במאמר איך מתבצע מעקב אחר סיום התמיכה במסגרת החרגה של תחזוקה. |
תפוגה והפעלה של החרגות
החרגה של תחזוקת אשכול נכנסת לתוקף באופן מיידי, או בזמן ובמועד שאתם מציינים כשאתם מגדירים את ההחרגה.
התוקף של החרגת תחזוקה פג או שהיא מושבתת בזמן הבא:
- תאריך סיום קבוע: כשתאריך הסיום הקבוע שציינתם להחרגה חלף.
מעקב אחרי סיום התמיכה: ההחרגה מתחזוקה מושבתת באופן זמני בתאריך תחילת סיום התמיכה, אם האשכול שלכם עדיין לא שודרג לגרסה המשנית הבאה ואתם משתמשים בהחרגה מתחזוקה באחת מהדרכים הבאות:
- כדי לעקוב אחרי תאריך סיום התמיכה בגרסה המשנית של האשכול, צריך להגדיר החרגה של תחזוקת האשכול לשעת הסיום.
- מגדירים החרגה של תחזוקה של מאגר צמתים.
מערכת GKE מפעילה מחדש את ההחרגה מתחזוקה אחרי אחד מהמקרים הבאים:
- GKE מבצע את השדרוג האוטומטי הנדרש בסוף תקופת התמיכה.
- משדרגים את האשכול באופן ידני לגרסה המשנית הבאה.
כשפג התוקף של החרגה מתחזוקה (כלומר, השעה הנוכחית מאוחרת משעת הסיום שצוינה להחרגה) או שהיא מושבתת זמנית, ההחרגה הזו כבר לא מונעת עדכונים ב-GKE. החרגות אחרות שתקפות עדיין ימשיכו למנוע עדכונים של GKE.
אם לא נשארו החרגות או גורמים אחרים שמונעים שדרוגים של אשכולות, מערכת GKE משדרגת בהדרגה את האשכול ליעדי שדרוג אוטומטי שעומדים בדרישות.
אם האשכול שלכם פספס כמה שדרוגים של גרסאות משניות בגלל ההחרגה, מערכת GKE מתזמנת שדרוג של גרסה משנית אחת בחודש, ומשדרגת גם את רמת הבקרה של האשכול וגם את הצמתים, כדי לוודא שהאשכול מריץ גרסה נתמכת. תמיד אפשר לבצע שדרוגים ידניים כדי להעביר את האשכול לגרסה משנית ספציפית מוקדם יותר.
איך מתבצע מעקב אחר סיום התמיכה בהחרגה של תחזוקה
אתם יכולים להגדיר החרגות לתחזוקת האשכול עם ההיקף 'No minor upgrades' (ללא שדרוגים משניים) או 'No minor or node upgrades' (ללא שדרוגים משניים או שדרוגים של צמתים) כדי לעקוב אחרי סיום התמיכה בגרסה המשנית של האשכול, במקום להגדיר תאריך באופן ידני כזמן סיום. החרגות מתחזוקת מאגר Node גם עוקבות אחרי סיום התמיכה.
אם הגדרתם אחד מסוגי ההחרגות האלה של תחזוקה כדי לעקוב אחרי תאריך סיום התמיכה, במצבים הבאים GKE מעדכן את שעת הסיום של ההחרגה של התחזוקה כדי לשקף את התאריך החדש של סיום התמיכה:
- אתם או GKE משדרגים את האשכול לגרסה משנית חדשה.
- אתם משנים את ההרשמה של האשכול לערוץ המורחב או ממנו.
- מערכת GKE מעדכנת את תאריך סיום התמיכה בגרסה המשנית של האשכול.
אם לא שדרגתם את האשכול באופן ידני לגרסה המשנית הבאה, GKE יבצע את השדרוגים האוטומטיים הנדרשים בסוף התמיכה, ואז יפעיל מחדש את ההחרגה של התחזוקה עם זמן הסיום של סוף התמיכה בגרסה המשנית החדשה.
מידע נוסף על סיום התמיכה זמין במאמר בנושא מחזור החיים של גרסאות משניות של GKE. כדי לראות את תאריך סיום התמיכה בגרסה המשנית של האשכול, אפשר לעיין במאמר איך בודקים מתי מסתיימת התמיכה בגרסה המשנית של האשכול.
מניעה זמנית של שדרוגים אוטומטיים בסיום התמיכה
כאמצעי זמני, שאפשר להשתמש בו רק במקרי חירום שבהם אין אפשרויות אחרות, אפשר לדחות את השדרוגים האוטומטיים בסוף תקופת התמיכה בעד 90 יום אחרי תאריך סיום התמיכה. כדי לעשות זאת, צריך להגדיר החרגה של תחזוקה עם היקף ברירת המחדל 'ללא שדרוגים'. אנחנו לא ממליצים על השיטה הזו בגלל הסיכונים שקשורים להפעלת גרסה לא נתמכת. אחרי שתוקף ההחרגה של התחזוקה יפוג, מערכת GKE תשדרג את האשכול.
הפעלה של אשכול שמשתמש בגרסת GKE לא נתמכת כרוכה בסיכון משמעותי לאבטחה, לאמינות ולתאימות, כי GKE לא מספקת תיקוני אבטחה או תיקוני באגים לגרסאות שהתמיכה בהן הסתיימה. GKE לא יכולה להתחייב לספק תיקונים או עדכונים לגרסאות שהתמיכה בהן הסתיימה.
מידע נוסף זמין במאמר בנושא שדרוגים אוטומטיים בסיום התמיכה.
איך החרגות תחזוקה פועלות כשמגדירים את היקף הפריסה של רצף השקה
אם משתמשים בפריסה מדורגת עם שלבים מותאמים אישית, אפשר לציין את היקף השדרוגים האוטומטיים של האשכולות שרוצים ש-GKE יבצע, בדומה להחרגות מתחזוקה. עם זאת, באמצעות רצף פריסה, אתם מגדירים את ההיקפים האלה לכל האשכולות ברצף הפריסה, במקום לאשכולות נפרדים עם החרגות תחזוקה. אם יש לכם אשכול ברצף השקה, ואתם מגדירים גם החרגות מתחזוקה, GKE פועל בהתאם להיקף המגביל יותר כשמתבצעים שדרוגים אוטומטיים של האשכול. לדוגמה, אם מאפשרים ל-GKE לבצע שדרוגים של תיקוני אבטחה במישור הבקרה באמצעות החרגה של תחזוקה, אבל לא באמצעות ההיקפים ברצף ההשקה, הוא לא יבצע את סוג השדרוג הזה. מידע נוסף זמין במאמר בחירת סוגי השדרוגים ש-GKE מבצע במהלך פריסה.
מגבלות על הגדרת החרגות מתחזוקה
אלו המגבלות שחלות על החרגות מתחזוקת האשכול:
- אפשר להגביל את ההיקף של שדרוגים אוטומטיים בהחרגה של תחזוקה רק לאשכולות שרשומים לערוץ הפצה. באשכולות שלא רשומים לערוץ הפצה (הוצא משימוש), אפשר ליצור החרגה לצורך תחזוקה רק עם ההגדרה 'ללא שדרוגים' שמוגדרת כברירת מחדל.
- אפשר להוסיף עד שלוש החרגות תחזוקה שמוציאות מכלל זה את כל השדרוגים (כלומר, היקף של 'ללא שדרוגים'). צריך להגדיר את ההחרגות האלה כך שיהיו זמינות לפחות 48 שעות של תחזוקה בחלון של 92 ימים.
- אפשר להגדיר עד 20 החרגות של תחזוקת אשכול לכל אשכול.
- אם לא מציינים היקף בהחרגה, היקף ברירת המחדל הוא 'no upgrades' (ללא שדרוגים).
אי אפשר להגדיר החרגה של תחזוקה שתכלול את תאריך סיום התמיכה של הגרסה המשנית שתואמת להרשמה לערוץ ההפצה של האשכול, או שתחרוג ממנו, אלא אם מדובר באמצעי חירום זמני עם ההיקף 'ללא שדרוגים'. כדי להגדיר שעת סיום קבועה בסמוך לסיום התמיכה, אפשר לעיין בדוגמאות הבאות:
- אשכול מריץ גרסה משנית בערוץ היציב, ובלוח הזמנים של GKE מצוין שסוף התמיכה הרגילה הוא ב-5 ביוני 2025. צריך להגדיר את שעת הסיום של ההחרגה של התחזוקה ל-
2025-06-05T00:00:00Zאו למועד מוקדם יותר. - באשכול פועלת גרסה משנית בערוץ המורחב, ובלוח הזמנים של GKE מצוין שתאריך הסיום של התמיכה המורחבת הוא 5 באפריל 2026. צריך להגדיר את שעת הסיום של ההחרגה של התחזוקה ל-
2026-04-0500:00:00Zאו למועד מוקדם יותר. אם רוצים לשנות את ערוץ ההפצה של האשכול לערוץ אחר, צריך לשנות את שעת הסיום של תקופת ההחרגה של התחזוקה אם היא חורגת מסיום התמיכה הרגילה. מידע נוסף זמין במאמר שינוי הערוץ של האשכול מערוץ Extended.
אפשר גם לעקוב אחרי תאריך סיום התמיכה, וההחרגה מושבתת באופן זמני בתחילת תאריך סיום התמיכה עד לשדרוג האשכול לגרסה המשנית הבאה.
- אשכול מריץ גרסה משנית בערוץ היציב, ובלוח הזמנים של GKE מצוין שסוף התמיכה הרגילה הוא ב-5 ביוני 2025. צריך להגדיר את שעת הסיום של ההחרגה של התחזוקה ל-
יש מגבלות על החרגות תחזוקה של מאגרי צמתים:
- האשכול צריך להיות רשום בערוץ הפצה.
- אפשר להגדיר רק החרגת תחזוקה אחת של מאגר צמתים לכל מאגר צמתים.
- אי אפשר להגדיר תקופת אי-זמינות לתחזוקה של מאגר צמתים שתתחיל בתאריך ובשעה עתידיים. החרגת התחזוקה מתחילה מיד כשמפעילים אותה.
- אי אפשר להשתמש בהחרגות של תחזוקת מאגר צמתים באשכולות Autopilot, כי GKE מנהל את הצמתים באשכולות Autopilot.
- ההחרגה של תחזוקת מאגר הצמתים מונעת רק שדרוגים של צמתים (עדכוני גרסה), ולא מונעת סוגים אחרים של עדכוני צמתים.
החרגות תחזוקה לא משפיעות על שדרוגים ידניים ועל הגרסאות של צמתים חדשים
החרגות מתחזוקה מונעות שדרוג אוטומטי של רמות בקרה וצמתים קיימים, בהתאם להיקף ההחרגה מתחזוקה. עם זאת, לא ניתן למנוע את השינויים הבאים באמצעות החרגות תחזוקה:
- שדרוג ידני של מישור הבקרה או הצמתים של האשכול.
- יצירת מאגר צמתים חדש מסוג Standard עם גרסה עדכנית יותר מזו של מאגרי צמתים קיימים מסוג Standard, במקרים שבהם החרגה של תחזוקה מונעת שדרוגים אוטומטיים.
- אם הקצאת צמתים אוטומטית (NAP) יוצרת את המשאבים הבאים עם גרסה חדשה יותר מהגרסה של הצמתים הקיימים, וההחרגה מתחזוקה מונעת שדרוגים אוטומטיים:
- מאגרי צמתים רגילים חדשים.
- צמתים חדשים באשכול 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, שיוסר בקרוב
בדוגמה הזו, חברה משתמשת ב-CustomResourceDefinition
apiextensions.k8s.io/v1beta1 API, שיוסר בגרסה 1.22.
אם החברה מפעילה גרסאות קודמות מגרסה 1.22, מנהל האשכול מגדיר את ההחרגה הבאה:
- אין שדרוגים משניים: הקפאת שדרוגים משניים למשך שלושה חודשים בזמן העברת אפליקציות של לקוחות מ-
apiextensions.k8s.io/v1beta1ל-apiextensions.k8s.io/v1.
דוגמה: מסד נתונים מדור קודם של חברה לא עמיד לשדרוגים של מאגר צמתים
בדוגמה הזו, חברה מפעילה מסד נתונים שלא מגיב טוב להוצאת Pods משימוש ולתזמון מחדש שמתרחש במהלך שדרוג של מאגר צמתים. האדמין של האשכול מגדיר את ההחרגה הבאה:
- ללא שדרוגים משניים או שדרוגים של צמתים: הקפאת שדרוגים של צמתים למשך שלושה חודשים. כשהחברה מוכנה להשבתה של מסד הנתונים, היא מפעילה שדרוג ידני של הצומת.
דוגמה: חברה מפעילה שילוב של עומסי עבודה למטרות כלליות ועומסי עבודה שלא יכולים להפסיק לפעול
בדוגמה הזו, חברה משתמשת באשכול אחד כדי להריץ שילוב של עומסי עבודה שיכולים לעמוד בשדרוגים אוטומטיים של הצמתים ושלא יכולים לעמוד בהם. אדמין של אשכול רוצה ש-GKE יטפל בשדרוגי צמתים בחלק ממאגרי הצמתים, אבל לא באחרים. אדמין האשכול משתמש בהחרגה של תחזוקת מאגר הצמתים לכל מאגרי הצמתים שאפשר לשדרג רק באופן ידני.
המאמרים הבאים
- מידע נוסף על שדרוג אשכול או הצמתים שלו
- מידע נוסף על אסטרטגיות לשדרוג צמתים
- איך מקבלים התראות על אשכולים