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

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

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

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

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

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

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

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

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

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

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

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

המסוף

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

    מעבר אל Kubernetes clusters

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

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

gcloud

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

gcloud container clusters get-upgrade-info CLUSTER_NAME

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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