קבלת תמונה ברורה יותר של שדרוגי אשכולות

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

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

  • שדרוגים מתוזמנים (גרסת Preview): מערכת GKE שולחת לכם הודעה לפחות 72 שעות לפני שדרוגים אוטומטיים של מישור הבקרה של האשכול ושדרוגים אוטומטיים של צומתי האשכול. כשמפעילים שדרוגים מתוזמנים, GKE עדיין משדרג אוטומטית את האשכול על בסיס קבוע, אבל רק אחרי שמתקבלת הודעה מראש. אם לא תקבלו הודעה מראש, האשכול לא ישודרג אוטומטית.
  • יעדי שדרוג אוטומטי: כאן אפשר לראות אילו גרסאות חדשות של GKE מיועדות לאשכול שלכם. יכול להיות שמדובר בתיקוני באגים או בגרסאות משניות חדשות, בהתאם לגרסה הקיימת של האשכול ולמגבלות. אם אין יעד לשדרוג אוטומטי, האשכול כבר נמצא ביעד השדרוג האחרון, או ש-GKE לא הקצה יעד לשדרוג אוטומטי מסיבות טכניות או עסקיות. אפשר גם לאחזר יעדי שדרוג אוטומטי כלליים על סמך גרסת המשנה של אשכול בהערות על גרסאות GKE, כמו הערה על גרסה 2024-R33.
  • סטטוס השדרוג האוטומטי: לאשכולות GKE יש סטטוס לשדרוגי אשכולות. הסטטוס הזה מאפשר לקבל מידע נוסף על שדרוגים עדכניים ועל האילוצים ש-GKE לוקח בחשבון כשבוחר מתי לשדרג אוטומטית את האשכול, כולל גורמים כמו החרגות של תחזוקה או סיבות שמונעות שדרוגים. מידע נוסף זמין במאמר סטטוס השדרוג האוטומטי של האשכול.
  • היסטוריית השדרוגים: GKE מספק תמונת מצב של שדרוגים אחרונים של מישור הבקרה ושדרוגים של צמתים באשכול, כולל שדרוגים אוטומטיים וידניים. לשדרוגים האחרונים של רמת הבקרה והצומת, תוכלו לראות פרטים כמו:

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

  • אירועים של אשכולות: GKE שולח התראות על אשכולות ל-Cloud Logging לגבי אירועים מסוימים, כמו התחלה או סיום של שדרוגים, זמינות של גרסאות חדשות, עלוני אבטחה ותאריכי סיום התמיכה. בנוסף לכך ש-GKE מציג את האירועים האלה באופן אוטומטי באמצעות Cloud Logging, אפשר גם לנתב את ההתראות האלה ל-Pub/Sub. מידע נוסף זמין במאמר בנושא התראות על אשכולות.

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

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

  • מפעילים את ממשק ה-API של Google Kubernetes Engine.
  • הפעלת Google Kubernetes Engine API
  • כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז לאתחל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה gcloud components update כדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.

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

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

אחרי שמפעילים את התכונה הזו,‏ GKE מפרסם התראה על אשכול ב-Cloud Logging, או לחלופין ב-Pub/Sub, עם המידע הבא:

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

‫GKE ישלח לכם הודעה 72 עד 96 שעות לפני שעת ההתחלה. ‫GKE מתחיל את השדרוג של מישור הבקרה או של הצמתים בתוך חלון הזמן של 8 שעות (מישור הבקרה) או 10 ימים (צמתים) עד לאחד מהמצבים הבאים:

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

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

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

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

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

מה עושים כשמקבלים התראה על שדרוג מתוזמן

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

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

סיבות לכך ש-GKE לא מבצע שדרוג מתוזמן

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

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

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

מגבלות

  • אי אפשר להפעיל שדרוגים מתוזמנים עם השקה מדורגת.
  • ‫GKE לא שולח הודעה על ביטול שדרוג מתוזמן. ‫GKE שולח התראה רק על שדרוג מתוזמן חדש.
  • אם מפעילים שדרוגים מתוזמנים, יכול להיות שההפעלה הזו תגרום לכך שהשדרוגים האוטומטיים יושלמו לאט יותר מאשר אם ההתראות לא היו מופעלות. הסיבה לכך היא שבכל שדרוג, מערכת GKE צריכה לספק הודעה מראש של 72 שעות לפחות, לפעול בהתאם לחלון הזמן להתחלה ולפעול בהתאם לחלון הזמן לתחזוקה, אם הגדרתם כזה לאשכול. אם אתם צריכים לבצע שדרוגים כדי להמשיך לעבוד באשכול שלכם ביעילות מקסימלית, ובמיוחד אם יש לכם מספר גדול של מאגרי צמתים או מאגרי צמתים גדולים, מומלץ גם להגדיר שדרוגים מקבילים של מאגרי צמתים. בנוסף, אתם יכולים להשתמש בשדרוגים ידניים כדי לקדם שדרוגים כשצריך.
  • אל תפעילו שדרוגים מתוזמנים לאשכולות עם יותר מ-1,000 מאגרי צמתים.
  • ‫GKE מספק הודעה מראש רק לגבי שדרוגים של גרסאות – כולל שדרוגים של מישור הבקרה ושל הצמתים – ולא לגבי סוגים אחרים של עדכונים של הצמתים. מידע נוסף על ההבדל בין שדרוגים (עדכוני גרסה) לבין סוגים אחרים של עדכונים זמין במאמר ניהול שינויים במחזור החיים של אשכולות כדי למזער שיבושים.
  • אי אפשר להפעיל או להשבית שדרוגים מתוזמנים באמצעות Terraform.
  • התראות על שדרוגים מתוזמנים רק מבטיחות ששדרוגים אוטומטיים של מישור הבקרה או הצמתים של האשכול לא יתחילו בלי התראה מראש. עם זאת, ההתראה לא מבטיחה את הדברים הבאים:

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

הפעלת שדרוגים מתוזמנים

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

gcloud beta container clusters update CLUSTER_NAME
   --enable-scheduled-upgrades

אחרי שמפעילים שדרוגים מתוזמנים, אפשר לראות את ההתראות באמצעות Cloud Logging או להגדיר התראות באמצעות Pub/Sub. מידע נוסף מופיע במאמר התראות על אשכולות.

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

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

השבתת שדרוגים מתוזמנים

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

gcloud beta container clusters update CLUSTER_NAME
   --disable-scheduled-upgrades

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

קבלת מידע על שדרוגים של אשכול

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

קבלת מידע על שדרוגים ברמת הפרויקט

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

נכנסים ללוח הבקרה Upgrades במסוף Cloud de Confiance :

מעבר אל 'שדרוגים'

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

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

קבלת מידע על שדרוגים ברמת האשכול

המסוף

  1. נכנסים לדף Kubernetes clusters במסוף Cloud de Confiance .

    מעבר אל Kubernetes clusters

  2. לוחצים על שם האשכול כדי לראות את הדף Cluster Details (פרטי האשכול).

  3. בדף פרטי האשכול, עוברים לקטע שדרוגים של האשכול.

gcloud

מריצים את הפקודה הבאה:

gcloud container clusters get-upgrade-info CLUSTER_NAME

מחליפים את CLUSTER_NAME בשם האשכול.

קבלת מידע על שדרוגים למאגרי צמתים של אשכולות רגילים

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

המסוף

  1. נכנסים לדף Kubernetes clusters במסוף Cloud de Confiance .

    מעבר אל Kubernetes clusters

  2. לוחצים על שם האשכול כדי לראות את הפרטים שלו.

  3. לוחצים על הכרטיסייה Nodes (צמתים).

  4. בקטע Node Pools, לוחצים על השם של מאגר הצמתים שרוצים לקבל לגביו מידע על שדרוגים.

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

gcloud

מריצים את הפקודה הבאה:

gcloud container node-pools get-upgrade-info POOL_NAME
    --cluster=CLUSTER_NAME

מחליפים את POOL_NAME בשם של מאגר הצמתים.

סטטוס השדרוג האוטומטי של האשכול

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

  • ‫ACTIVE: סטטוס שדרוג פעיל.
  • UNKNOWN: סטטוס השדרוג לא ידוע.
  • ‫MINOR_UPGRADE_PAUSED: השדרוגים של גרסאות משניות מושהים.
  • ‫UPGRADE_PAUSED: כל השדרוגים האוטומטיים מושהים.

אלה הסיבות האפשריות לכך ש-GKE משהה שדרוגים אוטומטיים של אשכול:

  • ‫MAINTENANCE_WINDOW: חלון זמן לתחזוקה מונע שדרוגים של האשכול.
  • ‫MAINTENANCE_EXCLUSION_: סיבת ההשהיה עם הקידומת הזו מציינת שהחרגה של תחזוקה מונעת שדרוגים של אשכולות. הסיומת מציינת את ההיקף של ההחרגה מתחזוקה, כמו MAINTENANCE_EXCLUSION_NO_UPGRADES.
  • ‫CLUSTER_DISRUPTION_BUDGET: אחרי פעולות מסוימות, כמו יצירה או שדרוג של אשכולות, האשכולות צריכים תקופת צינון כדי להגן על היציבות והזמינות של האשכול והאפליקציות שלו.
  • ‫CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE: האשכול נמצא מחוץ לתקציב ההפרעות באשכול לשדרוגים של גרסאות משניות.
  • ‫SYSTEM_CONFIG: השדרוגים האוטומטיים מושהים זמנית מסיבות טכניות או עסקיות. בסטטוס הזה, אנחנו ממליצים לא לבצע שדרוג ידני אלא אם יש צורך בכך.
  • AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED: סיבה שלא צוינה.

מידע על תרחישים נפוצים לשדרוג אשכולות

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

איך יודעים מתי צפוי השדרוג הבא של האשכול

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

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

איך מוצאים מה חוסם את השדרוג הבא של האשכול

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

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

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

כמה זמן צפוי להימשך השדרוג

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

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

איך בודקים מתי מסתיימת התמיכה בגרסה המשנית של האשכול

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

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

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