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

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

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

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

  • מיצוי המשאבים: אם הקיבולת הנוספת מוגבלת, יצירת צומתי עלייה לכמה מאגרי צמתים במקביל עלולה לחרוג ממכסת המחשוב הזמינה או מקיבולת המארח.
  • מבוי סתום ב-PDB: ניקוז של יותר מצומת אחד בכל פעם עלול לגרום למבוי סתום ב-PodDisruptionBudget‏ (PDB).
  • זמינות של כתובות IP: כל מאגר צמתים שמתעדכן במקביל צריך כתובת IP נוספת אחת בשביל צומת ה-surge שלו. לדוגמה, כדי לעדכן שלושה מאגרי צמתים במקביל, צריך שלוש כתובות IP זמינות נוספות:
    • אם הצמתים העובדים מקבלים כתובות IP משרת DHCP, שרת ה-DHCP צריך להיות מסוגל לספק כתובת IP נוספת לכל מאגר צמתים שמתעדכן במקביל.
    • אם צומתי העובדים משתמשים בכתובות IP סטטיות, קובץ טווח כתובות ה-IP צריך להכיל כתובת IP אחת נוספת לכל מאגר צמתים שמתעדכן במקביל, מעבר לכתובות ה-IP שנדרשות לצומתי העובדים.

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

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

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

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

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

  • בגרסאות 1.32.0 עד 1.32.1000, 1.33.0 עד 1.33.600 ו-1.34.0 עד 1.34.200: באשכולות מתקדמים, ערך ברירת המחדל של maximumConcurrentNodePoolUpdate הוא 1, ולכן מאגרי הצמתים מתעדכנים ברצף. בגרסאות תיקון מאוחרות יותר ובגרסה 1.35 ואילך, ערך ברירת המחדל הוא 0, כך שמאגרי הצמתים מתעדכנים במקביל. מידע נוסף מופיע במאמר nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate.

בהגדרת ה-seed של אשכול המשתמש user-cluster.yaml, אתם יכולים להגדיר את מדיניות העדכון של מאגר הצמתים כך שמאגרי הצמתים יעודכנו ברצף או עם מגבלת בו-זמניות:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

השדה maximumConcurrentNodePoolUpdate שולט בעדכון בו-זמניות:

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

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