שיטות מומלצות לשדרוג אשכולות GKE

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

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

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

לסקירה כללית של כל השיטות המומלצות ל-GKE, קראו את המאמר שיטות מומלצות ל-GKE.

רשימת המשימות

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

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

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

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

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

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

בחירת רמת התמיכה שאתם צריכים לגרסה משנית

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

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

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

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

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

  • חלונות זמן לתחזוקה: בחירת חלון זמן חוזר שבו GKE יכול לשדרג את האשכול, למשל שעות פעילות שאינן שעות שיא. אם תהליך השדרוג נמשך מעבר לחלון הזמן לתחזוקה, GKE מנסה להשהות את הפעולה ולהמשיך אותה בחלון הזמן הבא לתחזוקה.
  • החרגות מתחזוקה: בחירת תקופה ספציפית שבה GKE לא יכול לשדרג את האשכול, למשל במהלך אירוע מכירות גדול של עסק קמעונאי. אתם יכולים גם להשתמש בהחרגות תחזוקה כדי לדחות באופן זמני שדרוגים אוטומטיים של אשכול, למשל אם אתם מבחינים בבעיה באשכולות אחרים שמשודרגים לגרסה חדשה.
    • בתרחישים מתקדמים של שימוש, יכול להיות שתצטרכו לבצע ידנית סוגים מסוימים של שדרוגים במקום ש-GKE יבצע אותם. אתם יכולים להשתמש בהחרגות מתחזוקה כדי להשבית את השדרוגים האוטומטיים האלה. לדוגמה, אפשר להשתמש בהיקף No minor or node upgrades כדי להשבית את כל השדרוגים המשניים ואת כל השדרוגים של הצמתים. אתם צריכים לבצע את השדרוגים האלה בעצמכם באופן ידני, אחרת GKE ישדרג את האשכולות בסוף תקופת התמיכה בגרסה המשנית.
  • תדירות התחזוקה: בתרחישי שימוש מתקדמים, אפשר להשתמש בתקציב השיבושים באשכול כדי לקבוע את המרווח המינימלי בין שני שדרוגים אוטומטיים עוקבים.

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

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

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

כדאי להביא בחשבון את הסביבות המומלצות הבאות:

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

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

שימוש ברצף השקה כדי להשיק בסביבות שונות

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

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

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

בדיקת תיקונים ושדרוגים קלים ב-GKE

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

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

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

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

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

איך שולטים בהפעלת השדרוגים

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

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

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

    • לבטל שדרוג.
    • להמשיך שדרוג.
    • לבטל שדרוג.
    • לסיים שדרוג שכבר התחיל.

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

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

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

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

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

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

שיקולים נוספים לפרופילים ספציפיים של עומסי עבודה

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

  • עומסי עבודה שפועלים במכונות שלא עוברות מיגרציה פעילה: צומתי GKE, שהם מכונות של Compute Engine שנוצרות על ידי GKE בשבילכם, דורשים תחזוקה תקופתית בתשתית הבסיסית. רוב המכונות של Compute Engine יכולות לעבור מיגרציה פעילה, כלומר עומסי העבודה שפועלים לא חווים הפרעות כשהתחזוקה הזו מתרחשת. עם זאת, יש סוגי מכונות שלא תומכים במיגרציה פעילה, ולכן יכול להיות שעומסי העבודה שפועלים בצומתי GKE יופרעו. חשוב לציין שאי אפשר להעביר במיגרציה פעילה מאיצים, כמו GPUs ו-TPUs לעומסי עבודה של AI/ML. מידע נוסף זמין במאמר הסבר על ביצוע תחזוקה של מארחים ב-GKE.
  • עומסי עבודה עם מגבלות קיבולת: אם עומסי העבודה שלכם משתמשים בסוגי מכונות עם מגבלות קיבולת, צריך להביא בחשבון שיקולים נוספים כשמשדרגים את האשכול. למידע נוסף, קראו את המאמר הבטחת משאבים לשדרוגי צמתים.
  • עומסי עבודה עם שמירת מצב (stateful): אם עומסי העבודה שלכם הם עם שמירת מצב ויש להם דרישות ספציפיות לכיבוי ולהפעלה מחדש בצורה תקינה, צריך להביא בחשבון שיקולים נוספים כשמשדרגים את האשכול. מידע נוסף מופיע במאמר הכנת עומסי העבודה לשיבושים.

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

בחירת אסטרטגיית שדרוג לצומת

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

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

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

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

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

שימוש בסגירה מבוקרת כדי לסגור אפליקציה

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

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

שימוש בערוץ המורחב כשצריך תמיכה לטווח ארוך

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

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

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

הישארות זמנית בגרסה משנית למשך זמן ארוך יותר

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

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

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

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

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

מתי לא כדאי להשתמש בערוץ המורחב

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

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

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

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