כדי לוודא את הגרסה, סדר השדרוג ודרישות מערכת ההפעלה לפני שמתחילים, חשוב להבין איך הגרסה הנוכחית וגרסת היעד משפיעות על שדרוג האשכול.
מידע על שדרוג גרסה ספציפית
בטבלה הבאה מפורט מידע על שדרוג גרסאות ספציפיות. אחרי הטבלה מופיעים פרטים על גרסאות ספציפיות. הגרסאות מסודרות מהחדשה ביותר לישנה ביותר. כדי לראות את הפרטים והכללים הספציפיים שחלים על האשכול, חפשו את הגרסה שאתם משדרגים אליה.
| גרסה | קודם צריך לשדרג | גרסאות של מישור הבקרה (CP) | גרסאות של מאגרי צומתי עובדים | סטטוס אשכול מתקדם | האם יש תמיכה בתכונות מדור קודם? | קובצי אימג' של מערכת ההפעלה שמוגדרים כברירת מחדל ונדרשים | התנהגות שדרוג הצמתים ב-Kubeception | חבילה cert-manager |
|---|---|---|---|---|---|---|---|---|
| 1.36 | אשכול אדמין | 1.36, 1.35, 1.34 | 1.36, 1.35, 1.34 | חובה | ללא | ubuntu_cgv2, cos_cgv2 |
לא נתמך | בחבילה |
| 1.35 | אשכול אדמין | 1.35, 1.34, 1.33 | 1.35, 1.34, 1.33 | חובה | ללא | ubuntu_cgv2, cos_cgv2 חובה (cgroup v1 הוסר) |
לא נתמך | בחבילה |
| 1.34 | אשכול אדמין | 1.34, 1.33, 1.32 | 1.34, 1.33, 1.32 | חובה (אין אפשרות לבטל את ההסכמה, המרות אוטומטיות לא מתקדמות) | ללא | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
לא נתמך | בחבילה |
| 1.33 | אשכול אדמין | 1.33, 1.32, 1.31 | 1.33, 1.32, 1.31 | ברירת מחדל (המרה אוטומטית) (ביטול הסכמה רק לגרסאות 1.32 עד 1.33) | ללא | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
לא נתמך | חבילה לאשכולות מתקדמים |
| 1.32 | אשכול אדמין | 1.32, 1.31, 1.30 | 1.32, 1.31, 1.30 | GA (תמיכה בשדרוגים, תמיכה בשדרוגים נפרדים ובדילוג על שדרוגים של צמתים) | ללא | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
לא נתמך (צריך לעבור ל-Controlplane V2) | הודעות שקובצו באשכולות מתקדמים |
| 1.31 | אשכול אדמין | 1.31, 1.30, 1.29 | 1.31, 1.30, 1.29 | גרסת טרום-השקה (Preview) (אין שדרוג לגרסה 1.32, אין שדרוגים נפרדים או דילוג על שדרוגים של צמתים) | כן (Seesaw, F5, Kubeception, לא HA); מומלץ מאוד לעבור לתכונות המומלצות; חובה להשתמש ב-Dataplane V2 | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
צומתי אדמין שודרגו עם אדמין; צומתי CP של משתמשים שודרגו עם אשכול משתמשים | לא בחבילה |
| 1.30 | אשכול משתמשים | 1.30 | 1.30, 1.29, 1.28 | לא זמין | כן (Seesaw, F5, Kubeception, לא HA); מומלץ מאוד לעבור לתכונות המומלצות | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
צומתי CP וצומתי אדמין שודרגו במהלך השדרוג של אשכול האדמין | לא בחבילה |
| 1.29 | אשכול משתמשים | 1.29, 1.30 | 1.29, 1.28, 1.16 | לא זמין | כן (Seesaw, F5, Kubeception, לא HA) | ubuntu_cgv2 (ברירת המחדל), cos_cgv2, ubuntu_containerd, cos |
צומתי CP וצומתי אדמין שודרגו במהלך השדרוג של אשכול האדמין | לא בחבילה |
| 1.28 | אשכול משתמשים | 1.28, 1.29, 1.30 | 1.28, 1.16, 1.15 | לא זמין | כן (Seesaw, F5, Kubeception, לא HA) | ubuntu_containerd (ברירת המחדל), cos, ubuntu_cgv2, cos_cgv2 |
צומתי CP וצומתי אדמין שודרגו במהלך השדרוג של אשכול האדמין | לא בחבילה |
בכל הגרסאות, צריך לשדרג את הגרסאות של מאגרי הצמתים של מאזן העומסים (מאגרי צמתים עם enableLoadBalancer: true) באותו זמן ולשדרג לאותה גרסה של מישור הבקרה של אשכול המשתמשים.
מידע על שדרוג לפי גרסת הפצה
כדי למצוא את המידע הספציפי שדרוש לשדרוג לגרסה מסוימת, חפשו את הקטע של הגרסה שאליה אתם משדרגים.
גרסה 1.36
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.36 יכול לנהל אשכולות משתמשים בגרסאות 1.36, 1.35 ו-1.34.
- גרסאות של מישור הבקרה של אשכולות המשתמשים: 1.36, 1.35 או 1.34.
- גרסאות של מאגר צומתי העובדים: 1.36, 1.35 או 1.34.
סטטוס אשכולות מתקדמים: חובה להשתמש באשכולות מתקדמים.
דילוג על שדרוגי צמתים: נתמך.
תכונות מדור קודם נתמכות: לא. חוסם את השדרוג.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2. ערך ברירת המחדל של osImageType להגדרות אישיות חדשות הוא ubuntu_cgv2.
התנהגות שדרוג הצמתים ב-Kubeception: לא נתמכת. חסימת השדרוג.
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.36, 1.37 ו-1.38. - Terraform: נתמך אם יצרתם את אשכול המשתמש באמצעות Terraform.
- Google Cloud : נתמך בשדרוגים של אשכולות משתמשים.
- Google Cloud CLI: נתמך בשדרוגים של אשכולות משתמשים.
דרישות נוספות:
- אתם יכולים להריץ שדרוגים של אשכולות אדמין באופן אסינכרוני באמצעות
gkectl upgrade admin --async.
גרסה 1.35
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.35 יכול לנהל אשכולות משתמשים בגרסאות 1.35, 1.34 ו-1.33.
- גרסאות של מישור הבקרה של אשכול המשתמש: 1.35, 1.34 או 1.33.
- גרסאות של מאגר צומתי העובדים: 1.35, 1.34 או 1.33.
סטטוס אשכולות מתקדמים: חובה להשתמש באשכולות מתקדמים.
דילוג על שדרוגי צמתים: נתמך.
תכונות מדור קודם נתמכות: לא. חוסם את השדרוג.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2 חובה (cgroup v1 הוסר). ערך ברירת המחדל של osImageType בהגדרות חדשות הוא ubuntu_cgv2. לפני השדרוג, צריך להעביר את האשכולות ל-cgroup v2.
התנהגות שדרוג הצמתים ב-Kubeception: לא נתמכת. חסימת השדרוג.
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.35, 1.36 ו-1.37. - Terraform: נתמך אם יצרתם את אשכול המשתמש באמצעות Terraform.
- console: נתמך בשדרוגים של אשכולות משתמשים.
- ה-CLI של gcloud: נתמך בשדרוגים של אשכולות משתמשים.
דרישות נוספות:
- אתם יכולים להריץ שדרוגים של אשכולות אדמין באופן אסינכרוני באמצעות
gkectl upgrade admin --async.
גרסה 1.34
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.34 יכול לנהל אשכולות משתמשים בגרסאות 1.34, 1.33 ו-1.32.
- גרסאות של מישור הבקרה של אשכולות משתמשים: 1.34, 1.33 או 1.32.
גרסאות של מאגר צומתי עובד: 1.34, 1.33 או 1.32.
סטטוס אשכולות מתקדמים: חובה להשתמש באשכולות מתקדמים.
דילוג על שדרוגי צמתים: נתמך.
תכונות מדור קודם נתמכות: לא. חוסם את השדרוג.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
התנהגות שדרוג הצמתים ב-Kubeception: לא נתמכת. חסימת השדרוג.
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. נדרש כדי להמיר אשכולות לא מתקדמים לאשכולות מתקדמים (חובה בגרסה 1.34; הגרסה הבינארית שלgkectlחייבת להתאים בדיוק לגרסת ההפצה של היעד). הגרסאות הנתמכות הן 1.34, 1.35 ו-1.36. - Terraform: נתמך אם יצרתם את אשכול המשתמש באמצעות Terraform.
- מסוף: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
- ה-CLI של gcloud: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.34:
אשכולות לא מתקדמים מומרים אוטומטית לאשכולות מתקדמים כשמשדרגים לגרסה 1.34. במאמר עדכון או שדרוג של אשכול לאשכול מתקדם מוסבר על הכללים הספציפיים לשדרוג של אשכולות לא מתקדמים לאשכולות מתקדמים.
חובה להשתמש ב-
cert-managerהמצורף, והוא מעודכן לגרסה 1.19, שמחליפה התקנות קודמות שלcert-managerבהתאמה אישית. מידע נוסף על שדרוגים לחבילתcert-managerזמין במאמר שימוש בחבילתcert-manager.זמן הריצה של קונטיינר הצומת שודרג ל-containerd 2.0. יכולות להיות לכך ההשפעות הבאות:
- גרסה 2.0 של containerd לא תומכת בגרסה 2 של מניפסט קובץ האימג' של Docker או בגרסה 1 של הסכימה. לפני השדרוג לגרסה 1.34, ודאו שעומסי העבודה שולפים קובצי אימג' של קונטיינרים באמצעות Docker Schema 2 או פורמט תואם OCI.
- ההגדרה של מראת המרשם מועברת לפורמט hosts.toml ב-containerd 2.0. אם אתם מנהלים הגדרות אישיות של שיקוף או נקודות קצה (endpoint) של רישום עם air gap ישירות בצמתים, ודאו שההגדרות תואמות ל-hosts.toml.
- אם אתם משתמשים ב-DaemonSets בהתאמה אישית או בסקריפטים שמתקנים את /etc/containerd/config.toml, ודאו שהם לא משתמשים באפשרויות הגדרה של containerd v1 שהוצאו משימוש, כי הן עלולות לגרום לכשלים בהפעלה של containerd ב-containerd 2.0.
ערך ברירת המחדל של השדה
nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdateהשתנה בגרסה 1.34.300. אם אתם רוצים שדרוגים רציפים של מאגרי צמתים בגרסאות 1.34.300 ואילך, הגדירו אתnodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate: 1בקובץ התצורה של אשכול המשתמשים:- בגרסאות 1.34.0 עד 1.34.200, ערך ברירת המחדל של
nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdateהוא1, שמעדכן מאגר צמתים אחד בכל פעם, ברצף. - בגרסאות 1.34.300 ואילך, ערך ברירת המחדל של
nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdateהוא0, והוא מעדכן את כל מאגרי הצמתים בו-זמנית.
מידע נוסף זמין במאמר הגדרת מדיניות העדכון של מאגר הצמתים.
- בגרסאות 1.34.0 עד 1.34.200, ערך ברירת המחדל של
בדיקות מקדימות לשדרוג מאמתות באופן פעיל את כל הגדרות
PodDisruptionBudget(PDB) באשכול. לפני השדרוג, ודאו שבעומסי העבודה אין תקציבי שיבוש של Pods (PDB) מגבילים מדי (לדוגמה,maxUnavailable: 0אוminAvailableשתואמים לרפליקות הכוללות) שחוסמים את ניקוז הצמתים, או שבדיקות טרום-טיסה עלולות להיכשל.אם השדרוג נקטע, צריך לשדרג ישירות לגרסה 1.34.300-gke.59 או לגרסה חדשה יותר. הגרסה הזו מונעת את מחיקת אשכול ה-bootstrap אם צריך להריץ מחדש את
gkectl upgrade adminאחרי כשל. מידע נוסף זמין במאמר הפעלה מחדש שלgkectl upgrade adminמוחקת את אשכול ה-bootstrap.אתם יכולים להריץ שדרוגים של אשכולות אדמין באופן אסינכרוני באמצעות
gkectl upgrade admin --asyncלאשכולות מתקדמים, חוץ ממקרים שבהם אתם ממירים אשכול לא מתקדם לאשכול מתקדם.
גרסה 1.33
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.33 יכול לנהל אשכולות משתמשים בגרסאות 1.33, 1.32 ו-1.31.
- גרסאות של מישור הבקרה של אשכולות משתמשים: 1.33, 1.32 או 1.31.
גרסאות של מאגר צומתי עובדים: 1.33, 1.32 או 1.31.
סטטוס אשכולות מתקדמים: אשכולות מתקדמים הם סוג האשכול שמוגדר כברירת מחדל, והם מומרים באופן אוטומטי. אפשר לבטל את ההצטרפות. למידע נוסף, קראו את המאמר שדרוג ותחזוקה של אשכולות לא מתקדמים. אם מגדירים את enableAdvancedCluster לערך false, לא ניתן ליצור אשכול חדש.
דילוג על שדרוגי צמתים: נתמך.
תכונות מדור קודם נתמכות: לא. חוסם את השדרוג.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
התנהגות שדרוג הצמתים ב-Kubeception: לא נתמכת. חסימת השדרוג.
כלי שדרוג:
-
gkectl: נדרש כדי להמיר אשכולות לא מתקדמים לאשכולות מתקדמים (הגרסה הבינארית שלgkectlחייבת להתאים בדיוק לגרסת ההפצה של היעד). נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.33, 1.34 ו-1.35. - Terraform: נתמך אם יצרתם את אשכול המשתמש באמצעות Terraform.
- מסוף: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
- ה-CLI של gcloud: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.33:
שדרוגים מגרסה 1.32 לגרסה 1.33 ממירים באופן אוטומטי אשכולות לא מתקדמים לאשכולות מתקדמים כברירת מחדל. אתם יכולים להשאיר את האשכולות במצב לא מתקדם. למידע נוסף על האופן שבו אפשר לשמור על אשכולות לא מתקדמים, ראו שדרוג ותחזוקה של אשכולות לא מתקדמים.
באשכולות מתקדמים, גרסה 1.18 של
cert-managerמותקנת ומצורפת באופן אוטומטי, ומבטלת התקנות קודמות שלcert-managerבהתאמה אישית. מידע נוסף על שדרוגים לחבילתcert-managerזמין במאמר שימוש בחבילתcert-manager.אם משדרגים לאשכולות מתקדמים בגרסה הזו, הגרסה הבינארית של
gkectlחייבת להתאים בדיוק לגרסת ההפצה של היעד כשממירים מאשכולות לא מתקדמים לאשכולות מתקדמים. הדרישה הזו רלוונטית רק במהלך השדרוג לאשכול מתקדם. לכל השדרוגים האחרים באשכול המתקדם, כללי ההטיה של הגרסה הרגילה תקפים.אם השדרוג נקטע, שדרגו ישירות לגרסה 1.33.700-gke.71 או לגרסה חדשה יותר. הגרסה הזו מונעת את מחיקת אשכול ה-bootstrap אם צריך להריץ מחדש את
gkectl upgrade adminאחרי כשל.אתם יכולים להריץ שדרוגים של אשכולות אדמין באופן אסינכרוני באמצעות
gkectl upgrade admin --asyncלאשכולות מתקדמים ולאשכולות HA לא מתקדמים, אם כל אשכולות המשתמשים מריצים את Controlplane V2. אי אפשר להשתמש בדגל--asyncכשממירים אשכול לא מתקדם לאשכול מתקדם.
גרסה 1.32
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.32 יכול לנהל אשכולות משתמשים בגרסאות 1.32, 1.31 ו-1.30.
- גרסאות של מישור הבקרה של אשכול המשתמש: 1.32, 1.31 או 1.30.
גרסאות של מאגר צומתי Worker: 1.32, 1.31 או 1.30.
סטטוס אשכול מתקדם: נתמך.
דילוג על שדרוגי צמתים: נתמך.
תכונות מדור קודם נתמכות: לא. חוסם את השדרוג.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
התנהגות שדרוג הצמתים ב-Kubeception: לא נתמכת. חסימת השדרוג. צריך לעבור ל-Controlplane V2.
כלי שדרוג:
-
gkectl: נדרש כדי להמיר אשכולות לא מתקדמים לאשכולות מתקדמים (הגרסה הבינארית שלgkectlחייבת להתאים בדיוק לגרסת ההפצה של היעד). נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.32, 1.33 ו-1.34. - Terraform: נתמך אם יצרתם את אשכול המשתמש באמצעות Terraform.
- מסוף: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
- ה-CLI של gcloud: תמיכה בשדרוגים מתקדמים של אשכולות משתמשים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.32:
זו הגרסה הראשונה שמאפשרת שדרוג אופציונלי לאשכול מתקדם בגרסת GA עם תמיכה מלאה. אתם יכולים:
לשדרג לאשכול לא מתקדם ולתחזק את האשכול הלא מתקדם. אם תבחרו באפשרות הזו, תוכלו לבצע את הפעולות הבאות, החל מהגרסה הזו:
- משדרגים בנפרד את מישור הבקרה של אשכול המשתמש ואת מאגרי צמתי העובדים. מאגרי צומתי העובדים יכולים להיות עד 2 גרסאות משניות מאחורי מישור הבקרה.
- מריצים את השדרוג באופן אסינכרוני לאשכולות של אדמינים ומשתמשים.
משדרגים לאשכול לא מתקדם ואז ממירים את האשכול הלא מתקדם לאשכול מתקדם. אם תבחרו באפשרות הזו, תוכלו לבצע את הפעולות הבאות, החל מהגרסה הזו:
- כשמשדרגים אשכול לא מתקדם, משדרגים בנפרד את מישור הבקרה של אשכול המשתמש ואת מאגרי הצמתים של העובדים, אבל לא כשממירים לאשכול מתקדם. מאגרי צומתי העובדים יכולים להיות עד 2 גרסאות משניות מאחורי מישור הבקרה.
- מריצים את השדרוג באופן אסינכרוני לאשכולות של אדמינים ומשתמשים כשמשדרגים את האשכול הלא מתקדם.
- כשממירים לאשכול מתקדם, צריך לשדרג לגרסת הפצה 1.32.1000-gke.57 ואילך, כי היא כוללת תיקון לבעיה מוכרת שמונעת את מחיקת אשכול ה-bootstrap.
לשדרג ישירות לאשכול מתקדם. אם בוחרים באפשרות הזו, החל מהגרסה הזו:
- צריך לשדרג את מישור הבקרה ואת כל מאגרי הצמתים ביחד.
- אפשר להריץ את השדרוג באופן אסינכרוני באשכולות של משתמשים, אבל לא באשכולות של אדמינים.
- שדרגו לגרסת הפצה 1.32.1000-gke.57 או גרסה חדשה יותר, כי היא כוללת תיקון לבעיה מוכרת שמונעת את מחיקת אשכול ה-bootstrap.
התכונות הבאות מדור קודם לא נתמכות החל מהגרסה הזו. מידע נוסף זמין במאמר תכונות מדור קודם:
- Dataplane V1 (Calico). לשדרג ל-Dataplane V2 לפני השדרוג לגרסה 1.32.
- Seesaw. לפני שמשדרגים לגרסה 1.32, צריך לשדרג למאזן עומסים חלופי.
- F5 BIG-IP משולב. לפני שמשדרגים לגרסה 1.32, צריך לשדרג למאזן עומסים חלופי.
- Kubeception. לפני שמשדרגים לגרסה 1.32, צריך לשדרג לאשכול שהוא לא Kubeception.
- אשכולות ניהול ללא זמינות גבוהה. לפני שמשדרגים לגרסה 1.32, צריך לשדרג לאשכול אדמין עם זמינות גבוהה.
כשממירים אשכולות לא מתקדמים לאשכולות מתקדמים, הגרסה הבינארית של
gkectlחייבת להתאים בדיוק לגרסת ההפצה של היעד. הדרישה הזו רלוונטית רק במהלך השדרוג לאשכול מתקדם. לכל השדרוגים האחרים באשכול המתקדם, כללי ההטיה של הגרסה הרגילה תקפים.אם השדרוג נקטע, שדרגו ישירות לגרסה 1.32.1000-gke.57 או לגרסה חדשה יותר. הגרסה הזו מונעת את מחיקת אשכול ה-bootstrap אם צריך להריץ מחדש את
gkectl upgrade adminאחרי כשל.בגרסה 1.32 ואילך, אפשר להריץ שדרוגים של אשכולות אדמין באופן אסינכרוני באמצעות
gkectl upgrade admin --asyncלאשכולות מתקדמים ולאשכולות HA לא מתקדמים, אם כל אשכולות המשתמשים מריצים את Controlplane V2. אי אפשר להשתמש בדגל--asyncכשממירים אשכול לא מתקדם לאשכול מתקדם.
גרסה 1.31
שדרוג ראשון: אשכול אדמין
- אשכול אדמין בגרסה 1.31 יכול לנהל אשכולות משתמשים בגרסאות 1.31, 1.30 ו-1.29.
- גרסאות של מישור הבקרה של אשכול המשתמש: 1.31, 1.30 או 1.29.
- גרסאות של מאגר צומתי עובדים: 1.31, 1.30 או 1.29. (לא נתמך באשכולות מתקדמים בגרסה 1.31).
- כדי לשדרג מגרסה 1.29 או 1.30 לגרסה 1.31, צריך לשדרג את כל האשכולות לגרסה 1.30 לפני שמשדרגים את אשכול הניהול לגרסה 1.31.
סטטוס אשכול מתקדם: גרסת טרום-השקה (Preview) בלבד. אי אפשר לשדרג לגרסאות מתקדמות יותר.
דילוג על שדרוגי צמתים: נתמך.
תמיכה בתכונות מדור קודם: חובה להשתמש ב-Dataplane V2; עדיין יש תמיכה ב-Kubeception, ב-Seesaw וב-F5.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
התנהגות השדרוג של צומת Kubeception: צומתי אדמין משודרגים עם אשכול אדמין, וצומתי CP של משתמשים משודרגים עם אשכול משתמשים.
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין, לאשכולות לא מתקדמים ולאשכולות מתקדמים (גרסת טרום-השקה, לגרסה הזו). הגרסאות הנתמכות הן 1.31, 1.32 ו-1.33. - Terraform: נתמך באשכולות משתמשים רשומים אם יצרתם את אשכול המשתמשים באמצעות Terraform.
- מסוף: נתמך בשדרוגים של אשכולות משתמשים רשומים.
- ה-CLI של gcloud: תמיכה בשדרוגים של אשכולות משתמשים רשומים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.31:
בגרסה הזו השקנו אשכולות מתקדמים בגרסת טרום-השקה (Preview). בגרסה הזו אי אפשר להעביר אשכולות לא מתקדמים לאשכולות מתקדמים. אתם יכולים ליצור אשכולות חדשים כאשכולות מתקדמים, אבל לא לשדרג את האשכולות המתקדמים האלה בגרסת טרום-השקה (Preview) לגרסה גבוהה יותר. אנחנו לא ממליצים ליצור אשכולות מתקדמים בגרסה הזו. למידע נוסף על שלבי ההשקה של מוצרים, כמו גרסת טרום-השקה (Preview), ראו שלבי ההשקה של מוצרים.
בגרסה 1.31 ואילך, הארכיטקטורה של השדרוגים השתנתה למודל שבו אשכול האדמין חייב להיות גבוה יותר או שווה לאשכולות המשתמשים שלו. בעבר, אשכולות המשתמשים יכלו להיות עד שתי גרסאות משניות לפני אשכול האדמין.
צריך לשדרג את אשכול האדמין לפני שמשדרגים את אשכולות המשתמשים שמנוהלים על ידי אשכול האדמין. אשכולות אדמין יכולים לנהל אשכולות משתמשים עם אותה גרסה משנית או עד 2 גרסאות משניות נמוכות יותר. לדוגמה, אשכול אדמין בגרסה 1.31 יכול לנהל אשכולות משתמשים בגרסאות 1.31, 1.30 ו-1.29.
כדי לשדרג מגרסה 1.29 לגרסה 1.31, צריך להכין את החבילה של גרסה 1.30 כשלב ביניים. כדי לשדרג לגרסה 1.31, צריך להוריד את החבילות של גרסה 1.30 וגרסה 1.31 לתחנת העבודה של האדמין. כדי לשדרג מגרסה 1.29 לגרסה 1.31 תוך דילוג על גרסה, מבצעים את הפעולות הבאות:
- לשדרג רק את מישור הבקרה של אשכול המשתמש מגרסה 1.29 לגרסה 1.30 (ולהשאיר את מאגרי הצמתים העובדים בגרסה 1.29).
- משדרגים את אשכול האדמין מגרסה 1.29 לגרסה 1.30.
- משדרגים את אשכול האדמין מגרסה 1.30 לגרסת היעד 1.31.
- משדרגים את מישור הבקרה של אשכול המשתמשים ואת מאגרי הצמתים העובדים ביחד לגרסה 1.31.
אם אתם משתמשים ב-Kubeception, הצמתים של אשכול האדמין משודרגים במהלך השדרוג של אשכול האדמין, והצמתים של מישור הבקרה של אשכול המשתמש משודרגים במהלך השדרוג של אשכול המשתמש.
כדי לשדרג לגרסה 1.31, צריך להפעיל את Dataplane V2. כדי למנוע התנגשויות במדיניות הרשת וירידה בתנועה במהלך ההעברה של CNI, צריך לשמור באופן ידני את כל האובייקטים של
NetworkPolicy, למחוק אותם ולשחזר אותם אחרי השדרוג. כדי לעבור ל-Dataplane V2:מייצאים ושומרים את כל כללי מדיניות הרשת המותאמים אישית:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \ get networkpolicy -A -o wide \ --field-selector metadata.namespace!=kube-system kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \ get networkpolicy POLICY_NAME \ -n NAMESPACE -o yaml > policy.yamlמחליפים את מה שכתוב בשדות הבאים:
-
USER_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול המשתמשים -
POLICY_NAME: השם של האובייקטNetworkPolicy -
NAMESPACE: מרחב השמות של האובייקטNetworkPolicy
-
מוחקים את מדיניות הרשת מהאשכול:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \ delete networkpolicy POLICY_NAME \ -n NAMESPACEמגדירים את
enableDataplaneV2: trueבקובץ התצורה של אשכול המשתמשים ומשדרגים לגרסה 1.31.אחרי השדרוג לגרסה 1.31, צריך להחיל את כללי המדיניות ששמרתם כדי ש-Cilium יקמפל אותם בצורה נקייה ל-extended Berkeley Packet Filter (eBPF):
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \ apply -f policy.yaml
אם יש לכם אשכולות אדמין עם זמינות גבוהה, וכל אשכולות המשתמשים מריצים את Controlplane V2, אתם יכולים להריץ את השדרוג באופן אסינכרוני באמצעות הפקודה
gkectl upgrade admin --async.חובה להשתמש ב-Dataplane V2 בכל אשכולות המשתמשים. לפני שמשדרגים אשכול משתמש לגרסה 1.31, צריך לפעול לפי השלבים שמפורטים בקטע הפעלת Dataplane V2.
תכונות מדור קודם לא נתמכות בגרסה 1.32, ואפשר להחליף אותן בגרסאות 1.30 ו-1.31 כדי למנוע בעיות בשדרוג לגרסה 1.32.
גרסה 1.30
שדרוג קודם: אשכול משתמשים
- אשכול משתמש בגרסה 1.30 יכול להיות מנוהל על ידי אשכול אדמין בגרסה 1.30, 1.29 או 1.28.
- אשכול אדמין בגרסה 1.30 יכול לנהל רק אשכולות משתמשים בגרסה 1.30. כל אשכולות המשתמשים ואשכול הניהול חייבים להגיע לגרסה 1.30 כדי שתוכלו לשדרג את אשכול הניהול לגרסה 1.31, ואתם חייבים לשדרג את אשכול הניהול לגרסה 1.31 כדי שתוכלו לשדרג את אשכולות המשתמשים לגרסה 1.31.
- גרסאות של מישור הבקרה של אשכולות משתמשים: 1.30.
- גרסאות של מאגר צומתי עובדים: 1.30, 1.29 או 1.28.
סטטוס אשכול מתקדם: לא זמין.
דילוג על שדרוגי צמתים: נתמך.
תמיכה בתכונות מדור קודם: נתמכת. מומלץ מאוד לעבור לתכונות המומלצות.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
- התנהגות השדרוג של צומת Kubeception: מישור הבקרה וצומתי האדמין משודרגים במהלך השדרוג של אשכול האדמין.
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.30, 1.31 ו-1.32. - Terraform: נתמך באשכולות משתמשים רשומים, אם יצרתם את אשכול המשתמשים באמצעות Terraform.
- מסוף: נתמך בשדרוגים של אשכולות משתמשים רשומים.
- ה-CLI של gcloud: תמיכה בשדרוגים של אשכולות משתמשים רשומים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.30:
בגרסה הזו ובכל הגרסאות הקודמות, צריך להעביר את כל אשכולות המשתמשים לפני שמשדרגים את אשכול האדמין המנהל. גרסת ה-minor של אשכול האדמין צריכה להיות זהה לגרסת ה-minor של כל אשכול משתמש מנוהל, או נמוכה ממנה.
אם אתם משתמשים ב-Kubeception, זה מה שקורה במהלך השדרוג:
- משדרגים את אשכול המשתמשים. מכיוון שמישור הבקרה של המשתמש נמצא בתוך אשכול האדמין, הפעלת
gkectl upgrade clusterמשדרגת רק את מאגרי צומתי ה-worker. - משדרגים את אשכול האדמין. השדרוג של אשכול האדמין משדרג את צומתי האדמין ומשדרג באופן אוטומטי את כל מישורי הבקרה של אשכולות המשתמשים בו-זמנית.
- משדרגים את אשכול המשתמשים. מכיוון שמישור הבקרה של המשתמש נמצא בתוך אשכול האדמין, הפעלת
אם יש לכם את Controlplane V2, זה מה שקורה במהלך השדרוג:
- משדרגים את אשכול המשתמשים. הפעולה הזו משדרגת את מישור הבקרה ואת מאגרי הצמתים העובדים.
- משדרגים את אשכול האדמין. הפעולה הזו משדרגת את צומתי האדמין.
כשיוצרים אשכול משתמשים חדש, צריך להגדיר את השדה
enableControlplaneV2לערךtrue, שהוא ברירת המחדל, החל מהגרסה הזו. אם מגדירים את השדהenableControlplaneV2לערךfalse, המערכת שלgkectlדוחה את הקובץ ולא יוצרת את האשכול.אם יש לכם אשכולות אדמין עם זמינות גבוהה, וכל אשכולות המשתמשים מריצים את Controlplane V2, אתם יכולים להריץ את השדרוג באופן אסינכרוני באמצעות הפקודה
gkectl upgrade admin --async.תכונות מדור קודם לא נתמכות בגרסה 1.32, ואפשר להחליף אותן בגרסאות 1.30 ו-1.31 כדי למנוע בעיות בשדרוג לגרסה 1.32.
גרסה 1.29
שדרוג קודם: אשכול משתמשים
- אשכול משתמש בגרסה 1.29 יכול להיות מנוהל על ידי אשכול אדמין בגרסה 1.29, 1.28 או 1.16.
- אשכול אדמין בגרסה 1.29 יכול לנהל אשכולות משתמשים בגרסאות 1.29 ו-1.30. אשכול אדמין בגרסה 1.29 לא יכול לנהל אשכולות משתמשים בגרסה 1.31, כי כל האשכולות צריכים קודם להגיע לגרסה 1.30, וצריך לשדרג את אשכול האדמין לגרסה 1.31 לפני שאפשר לשדרג אשכול משתמשים לגרסה 1.31.
- גרסאות של מישור הבקרה של אשכול המשתמש: 1.29 או 1.30, שהיא גרסה משנית אחת גבוהה יותר.
- גרסאות של מאגר צומתי עובדים: 1.29, 1.28 או 1.16.
סטטוס אשכול מתקדם: לא זמין.
דילוג על שדרוגי צמתים: נתמך.
תמיכה בתכונות מדור קודם: נתמך.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_cgv2, cos_cgv2, ubuntu_containerd, cos. ערך ברירת המחדל של osImageType הוא ubuntu_cgv2.
התנהגות השדרוג של צומת Kubeception: מישור הבקרה וצומתי האדמין משודרגים במהלך השדרוג של אשכול האדמין
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.29, 1.30 ו-1.31. - Terraform: נתמך באשכולות משתמשים רשומים, אם יצרתם את אשכול המשתמשים באמצעות Terraform.
- מסוף: נתמך בשדרוגים של אשכולות משתמשים רשומים.
- ה-CLI של gcloud: תמיכה בשדרוגים של אשכולות משתמשים רשומים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.29:
- צומתי העובדים יכולים להיות עד 2 גרסאות משניות מאחורי מישור הבקרה (n+2).
- כשמשדרגים מאגרים של צומתי עובדים, אפשר לדלג על גרסה משנית. לדוגמה, אתם יכולים לשדרג מאגר של צומתי עובדים מגרסה 1.28 לגרסה 1.30.
- בדיקות טרום-טיסה פועלות כ-pods בתוך אשכול האדמין או אשכול זמני מסוג bootstrap, במקום בתחנת העבודה של האדמין.
- החל מהגרסה הזו, אפשר להריץ בדיקה מקדימה בלי לשדרג את האשכול באמצעות
gkectl upgrade cluster --dry-run. - אם יש לכם אשכולות אדמין עם זמינות גבוהה, וכל אשכולות המשתמשים מריצים את Controlplane V2, אתם יכולים להריץ את השדרוג באופן אסינכרוני באמצעות הפקודה
gkectl upgrade admin --async.
גרסה 1.28
שדרוג קודם: אשכול משתמשים
- אשכול משתמשים בגרסה 1.28 יכול להיות מנוהל על ידי אשכול אדמין בגרסה 1.28, 1.16 או 1.15.
- אשכול אדמין בגרסה 1.28 יכול לנהל אשכולות משתמשים בגרסאות 1.28, 1.29 ו-1.30.
- גרסאות של מישור הבקרה של אשכול המשתמש: 1.28, 1.29 או 1.30, שהן עד 2 גרסאות משניות גבוהות יותר.
- גרסאות של מאגר צומתי עובדים: 1.28, 1.16 או 1.15, שהן עד 2 גרסאות משניות נמוכות יותר.
סטטוס אשכול מתקדם: לא זמין.
דילוג על שדרוגי צמתים: נתמך.
תמיכה בתכונות מדור קודם: נתמכת.
קובצי אימג' של מערכת ההפעלה שנדרשים כברירת מחדל: ubuntu_containerd, cos, ubuntu_cgv2, cos_cgv2. ערך ברירת המחדל של osImageType הוא ubuntu_containerd.
התנהגות השדרוג של צומת Kubeception: מישור הבקרה וצומתי האדמין משודרגים במהלך השדרוג של אשכול האדמין
כלי שדרוג:
-
gkectl: נדרש לאשכולות אדמין. הגרסאות הנתמכות הן 1.28, 1.29 ו-1.30. - Terraform: נתמך באשכולות משתמשים רשומים, אם יצרתם את אשכול המשתמשים באמצעות Terraform.
- מסוף: נתמך בשדרוגים של אשכולות משתמשים רשומים.
- ה-CLI של gcloud: תמיכה בשדרוגים של אשכולות משתמשים רשומים.
דרישות נוספות:
הדרישות הנוספות הבאות חלות על שדרוגים לגרסה 1.28:
צריך להפעיל את
kubernetesmetadata.googleapis.comולהקצות את התפקידroles/kubernetesmetadata.publisherלחשבון השירות של רישום ביומן ומעקב. אם לא תעשו זאת, יכול להיות שהבדיקות המקדימות ייכשלו או שיופיעו שגיאות403 PERMISSION_DENIED. מפעילים את ה-API ונותנים את התפקיד לחשבון השירות הקיים של רישום ביומן ומעקב:gcloud services enable kubernetesmetadata.googleapis.com gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:LOGGING_SA" \ --role="roles/kubernetesmetadata.publisher"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט המארח של ה-Fleet שבו אשכול המשתמש חבר. -
LOGGING_SA: כתובת האימייל של חשבון השירות למעקב אחרי רישום ביומן.
-
למרות שבאופן טכני אפשר לדלג על גרסאות במהלך שדרוג של מאגר צמתים, התכונה הזו הוצגה כתכונה בגרסת טרום-השקה (Preview) והיא לא מומלצת לגרסה הזו. למידע נוסף על שלבי ההשקה של מוצרים, כמו גרסת טרום-השקה (Preview), ראו שלבי ההשקה של מוצרים.
מאגרי צמתים עם מאזן עומסים מקובץ חייבים להתאים בדיוק לגרסת האשכול.
אפשר לשדרג כמה צמתים בו-זמנית על ידי הגדרת השדה
nodePools[i].updateStrategy.rollingUpdate.maxSurge. באשכול vSphere צריך להיות מספיק מעבד, זיכרון RAM וכתובות IP זמינות כדי להכיל את המכונות הווירטואליות הנוספות במהלך השדרוג:- מגדירים את הערך
maxSurge: 1(ברירת המחדל) כדי לשדרג צומת אחד בכל פעם (ניקוז, החלפה, אימות ואז חזרה על הפעולה). - מגדירים את
maxSurge: N(כאשרN > 1) כדי להקצות ולרוקן עדNצומתי עובדים בו-זמנית (לדוגמה,maxSurge: 3משדרג 3 צומתי עובדים בו-זמנית).
- מגדירים את הערך
כדי לשדרג את תחנת העבודה של האדמין, צריך שיהיו בה לפחות 100GB של מקום בכונן פנוי.
גרסת
gkectlשבה משתמשים לשדרוג יכולה להיות עד שתי גרסאות משניות גבוהות יותר מהאשכול הנוכחי. אי אפשר להשתמש בגרסה משנית נמוכה יותר.
גרסאות שקדמו ל-1.28
הדרישות הנוספות הבאות חלות על שדרוגים לגרסאות שקודמות לגרסה 1.28. לא היו גרסאות הפצה בין 1.16 ל-1.28:
גרסה 1.16:
- ההבדל בין הגרסאות של אשכולות האדמין והמשתמשים, ובין מישור הבקרה למאגרי הצמתים, יכול להיות רק גרסה משנית אחת. לדוגמה, אשכול אדמין בגרסה 1.15 יכול לנהל רק אשכולות משתמשים בגרסאות 1.15 או 1.16. מישור בקרה של אשכול משתמש ששודרג לגרסה 1.16 יכול לנהל מאגרי צומתי עובד שפועלים בגרסה 1.15 או 1.16. כדי להעביר את מישור הבקרה לגרסה 1.16, צריך לשדרג מאגר בגרסה 1.14 לגרסה 1.15. מידע נוסף על הבדלים בין גרסאות זמין במאמר כללים לגבי הבדלים בין גרסאות.
- האשכולות נרשמים באופן אוטומטי ל-GKE On-Prem API כשהם נוצרים או משודרגים לגרסה 1.16. השינוי הזה מאפשר לכם לראות, לעקוב ולשדרג את אשכולות המשתמשים באמצעות המסוף, ה-CLI של gcloud ו-Terraform, במקום רק באמצעות המעטפת של תחנת העבודה של האדמין.
גרסה 1.14:
- אתם יכולים לשדרג קודם רק את מישור הבקרה של אשכול המשתמשים, כדי שלא תצטרכו לרוקן ולשדרג את כל מאגרי הצמתים העובדים בו-זמנית.
- במהלך השדרוג, המערכת בודקת ומעדכנת באופן אוטומטי את קובצי ה-kubeconfig הקיימים של אשכולות האדמין והמשתמשים בתחנת העבודה, ומחדשת את פרטי הכניסה באופן אוטומטי.
גרסה 1.13:
- בגרסאות קודמות, אפשר היה להשתמש באשכול אדמין אופליין. בגרסה הזו צריך לרשום את אשכול האדמין ב- Google Cloud. במאמר רישום אשכול קיים מוסבר איך רושמים אשכול.
- כדי לשדרג אשכול לגרסה 1.13 ואילך של Google Distributed Cloud software only for VMware, קודם צריך לעדכן ל-containerd את כל מאגרי הצמתים של אשכולות המשתמשים שעדיין משתמשים ב-Docker Engine.
שימוש ב-cert-manager בחבילה
צריך להשתמש ב-cert-manager המצורף, שמותקן באופן אוטומטי באשכולות מתקדמים. כשעוברים מאשכול לא מתקדם לאשכול מתקדם, הגרסה המשולבת של cert-manager מבטלת באופן אוטומטי את כל הגרסאות של cert-manager שהלקוח התקין.
לפני שמעדכנים או משדרגים לאשכולות מתקדמים, חשוב לוודא שאין תכונות או הגדרות אישיות קריטיות שחלות על cert-manager הקיים.
כדי לבדוק אם החלתם תכונות או הגדרות אישיות קריטיות על cert-manager:
- להשעות כלים של פריסה רציפה (CD). אם אתם מנהלים את
cert-managerבאמצעות כלי GitOps (כמו סנכרון תצורות, ArgoCD או Flux), אתם צריכים להשעות את הסנכרון או להסיר את המניפסטים שלcert-managerמהמאגר לפני השדרוג. אם בקר GitOps מנסה להתאים אתcert-managerלגרסה ישנה יותר או למניפסט בהתאמה אישית בזמן ששדרוג האשכול פועל, הוא יוצר לולאת התאמה שיכולה לעכב את שדרוג האשכול. - אל תסירו או תמחקו באופן ידני פודים, מרחבי שמות או CRD של
cert-managerלפני השדרוג. gkectlמנהל את השדרוגים האלה במקום. - אם שיניתם את דגלי הפריסה, את בוררי הצמתים או את מגבלות המשאבים של Pod ב-
cert-manager, החזירו אותם למצב הקודם. אשכולות מתקדמים לא תומכים בארגומנטים בינאריים בהתאמה אישית או בשינויים ברמת הפריסה ב-cert-manager. - אם אתם משתמשים במנפיקים חיצוניים ייעודיים, תוספי webhook פרטיים של ACME DNS-01 או webhooks מותאמים אישית, ודאו שהתוספים של צד שלישי שלכם תואמים לגרסת
cert-managerהמצורפת עבור הגרסה שאליה אתם משדרגים.
מידע נוסף זמין במאמר שדרוג ל-cert-manager שכולל אשכולות מתקדמים.
בטבלה הבאה מפורטות גרסאות ההפצה שדורשות cert-manager בחבילה:
| גרסה | סטטוס של אשכולות חדשים | סטטוס השדרוגים של אשכולות קיימים | האם נדרש cert-manager בחבילה? |
|---|---|---|---|
| 1.34 ומעלה | חובה | המרה חובה (v1.19 כלול) | חובה לכל הלקוחות. לא יכולים להיות יותר אשכולות לא מתקדמים. |
| 1.33 | רגיל / ברירת המחדל לכל האשכולות החדשים | המרה אוטומטית לאשכולות מתקדמים כברירת מחדל (גרסה 1.18 כלולה) | נדרש כמעט לכל האשכולות, אלא אם מבטלים את ההסכמה באופן מפורש באמצעות enableAdvancedCluster: false (גרסאות 1.32 עד 1.33 בלבד). |
| 1.32 (זמינות כללית) | מופעל כברירת מחדל | המרה אופציונלית לאשכולות מתקדמים | חובה אם מפעילים אשכולות מתקדמים. |
| 1.31 (גרסת טרום-השקה) | אופציונלי (enableAdvancedCluster: true) |
לא נתמך | חובה אם מפעילים אשכולות מתקדמים. |
כדי לראות איזו גרסה של cert-manager כלולה בכל גרסה נתמכת, עיינו בקטע גרסאות cert-manager כלולות.
Controlplane V2
כשהתכונה Controlplane V2 מופעלת, מישור הבקרה של אשכול המשתמש פועל באשכול המשתמש עצמו. ב-Controlplane V2, הצמתים של מישור הבקרה באשכול המשתמש משודרגים במהלך השדרוג של אשכול המשתמש, והצמתים של מישור הבקרה באשכול האדמין משודרגים במהלך השדרוג של אשכול האדמין.
תכונות מדור קודם
בטבלה הבאה מפורטות התכונות מדור קודם שנחסמו בגרסה 1.32 ואילך. אם אתם משתמשים בתכונות האלה, אתם צריכים לעבור לחלופות המומלצות לפני שתוכלו לשדרג לגרסה 1.32 ואילך.
| תכונה מדור קודם (חסומה בגרסה 1.32) | החלפה ב-(מומלץ) | קישור להוראות העברה | | --- | --- | --- | | Dataplane V1 (Calico) | Dataplane V2 (Cilium / eBPF) | מעבר ל-Dataplane V2| | Kubeception | Controlplane V2 | מעבר ל-Controlplane V2 | | אשכול אדמין ללא זמינות גבוהה (רפליקה אחת) | אשכול אדמין עם זמינות גבוהה (3 רפליקות) | מעבר לאשכול אדמין עם זמינות גבוהה | | מאזן עומסים Seesaw | MetalLB או ManualLB | מעבר ל-MetalLB או מעבר לסוג מאזן עומסים| | F5 BIG-IP משולב (loadBalancer.kind: "F5BigIP") | ManualLB (בשילוב עם F5 Big-IP Controller או CCGI) | מעבר ל-ManualLB |
במאמר תכנון המעבר של אשכולות לתכונות מומלצות מוסבר איך עוברים מתכונות מדור קודם לתכונות מומלצות.
העברת Kubeception והתנהגות הגרסה
Kubeception היא תכונה מדור קודם שצריך להעביר ל-Controlplane V2 לפני שמשדרגים לגרסה 1.32 ואילך.
השדרוגים פועלים באופן שונה באשכולות עם Kubeception, בהתאם לגרסה:
- בגרסה 1.28: שדרוג של מישור הבקרה וצומתי האדמין במהלך השדרוג של אשכול האדמין
- בגרסה 1.29: שדרוג של מישור הבקרה וצומתי האדמין במהלך השדרוג של אשכול האדמין
בגרסה 1.30: מישור הבקרה וצומתי האדמין משודרגים במהלך השדרוג של אשכול האדמין. אם אתם משתמשים ב-Kubeception, זה מה שקורה במהלך השדרוג:
- משדרגים את אשכול המשתמשים. מכיוון שמישור הבקרה של המשתמש נמצא בתוך אשכול האדמין, הפעלת
gkectl upgrade clusterמשדרגת רק את מאגרי צומתי ה-worker. - משדרגים את אשכול האדמין. השדרוג של אשכול האדמין משדרג את צומתי האדמין ומשדרג באופן אוטומטי את כל מישורי הבקרה של אשכולות המשתמשים בו-זמנית.
- משדרגים את אשכול המשתמשים. מכיוון שמישור הבקרה של המשתמש נמצא בתוך אשכול האדמין, הפעלת
בגרסה 1.31: צומתי אדמין משודרגים עם אשכול אדמין, צומתי מישור בקרה של משתמשים משודרגים עם אשכול משתמשים.
בגרסה 1.32 ואילך: אין תמיכה ב-Kubeception. כדי לשדרג לגרסה 1.32 ואילך, צריך לעבור ל-Controlplane V2.
לפרטים על העברת Kubeception ל-Controlplane V2, קראו את המאמר תכנון העברת אשכולות לתכונות מומלצות.
הטיית גרסה לעומת דילוג על גרסה במהלך השדרוג
הטיית גרסה היא ההבדל המותר בגרסאות משניות בין אשכול אדמין לבין אשכולות המשתמשים המנוהלים שלו, או ההבדל בגרסאות משניות בין מישור הבקרה של אשכול משתמש לבין מאגרי הצמתים באשכול המשתמש.
הטיית גרסה שונה מדילוג על גרסה משנית כשמשדרגים.
אפשר לדלג על גרסה משנית רק כשמשדרגים מאגרים של צומתי עובדים, אחרי שמשדרגים את מישור הבקרה. ההגדרה הזו חלה על אשכולות מתקדמים ולא מתקדמים, חוץ מאשכולות מתקדמים שפועלים בגרסה 1.31 ובגרסאות שקודמות ל-1.28. לדוגמה, אם מאגר צמתים של צומתי עובד הוא בגרסה 1.29, צריך לעדכן את מישור הבקרה של אשכול המשתמש לגרסה 1.30 ואז לגרסה 1.31. אחרי שמישור הבקרה בגרסה 1.31, משדרגים את מאגר הצמתים העובדים מגרסה 1.29 לגרסה 1.31 ישירות, בלי לשדרג לגרסה 1.30. למידע נוסף, קראו את המאמר דילוג על גרסה כשמשדרגים מאגרי צמתים.
כדי לשדרג לגרסה משנית גבוהה יותר מהגרסה המשנית הבאה ברצף, קודם משדרגים לגרסה המשנית הבאה ואז משדרגים לגרסה המשנית הגבוהה יותר. אי אפשר לדלג על גרסה משנית כשמשדרגים את מישורי הבקרה של אשכולות האדמין והמשתמשים. לדוגמה, אם רוצים לשדרג מגרסה 1.34.x לגרסה 1.36.x, אי אפשר לשדרג ישירות. קודם צריך לשדרג מגרסה 1.34.x לגרסה 1.35.x, ואז לשדרג לגרסה 1.36.x.
מישור הבקרה של אשכול משתמש יכול להיות עד 2 גרסאות משניות גבוהות יותר ממאגרי הצמתים של העובדים באשכול. לדוגמה, אם מישור הבקרה של אשכול משתמש הוא בגרסה 1.36, מאגרי צומתי העובדים באשכול יכולים להיות בגרסאות 1.34, 1.35 או 1.36.
אילו הבדלים בין גרסאות מותרים?
אשכול אדמין יכול לנהל אשכולות משתמשים עד 2 גרסאות משניות נמוכות יותר. לדוגמה, אם אשכול האדמין הוא בגרסה 1.31, אשכולות המשתמשים שמנוהלים על ידי אשכול האדמין הזה יכולים להיות בגרסאות 1.29, 1.30 או 1.31.
לפני גרסה 1.31, חלים כללי הטיית הגרסה הבאים:
- בגרסאות 1.28 עד 1.30, אשכולות המשתמשים יכולים להיות עד 2 גרסאות משניות גבוהות יותר מאשכול הניהול שלהם. לדוגמה, אם אשכול האדמין הוא בגרסה 1.15, אשכולות המשתמשים שמנוהלים על ידי אשכול האדמין הזה יכולים להיות בגרסאות 1.15, 1.16 או 1.28. אי אפשר לשדרג אשכול משתמשים מגרסה 1.28 לגרסה 1.29 עד שאשכול האדמין ישודרג לפחות לגרסה 1.16. בגרסה 1.31 השתנה סדר השדרוג, ועכשיו צריך לשדרג קודם את אשכול הניהול. לכן, אשכול ניהול בגרסה 1.29 או 1.30 לא יכול לנהל אשכולות של משתמשים בגרסה 1.31 או 1.32. כל אשכולות המשתמשים ואשכול האדמין חייבים להגיע לגרסה 1.30 לפני שאפשר לשדרג את אשכול האדמין לגרסה 1.31.
- בגרסאות 1.16 ומטה, אשכולות המשתמשים יכולים להיות רק בגרסה משנית אחת גבוהה יותר מאשכול הניהול שלהם. לדוגמה, אם אשכול אדמין הוא בגרסה 1.15, אשכולות המשתמשים שמנוהלים על ידי אשכול האדמין הזה יכולים להיות בגרסה 1.15 או 1.16.
האם צריך לשדרג את כל אשכולות המשתמשים בבת אחת?
כשמשדרגים אשכולות של משתמשים, אפשר לבחור אחת מהאפשרויות הבאות:
- לשדרג את כל אשכול המשתמשים עם מישור הבקרה וכל מאגרי הצמתים באשכול בו-זמנית.
- לשדרג את מישור הבקרה של אשכול המשתמשים ולהשאיר את מאגרי הצמתים בגרסה הנוכחית.
- לשדרג את מישור הבקרה של אשכול המשתמשים ולשדרג באופן סלקטיבי מאגרי צמתים.
הגישה שבה תבחרו תלויה בכמה גורמים, כמו:
- הסביבה (ייצור או לא ייצור) שבה נמצא האשכול.
- משך חלון הזמן לתחזוקה.
- הגרסה של אשכול המשתמשים.
לדוגמה, יכול להיות שתרצו לשדרג גם את מישור הבקרה של אשכול המשתמש וגם את כל מאגרי הצמתים בסביבת פיתוח. אבל בסביבת ייצור עם חלון זמן קצר לתחזוקה, יכול להיות שתרצו לשדרג רק את מישור הבקרה כי זה לוקח פחות זמן, והשדרוג של מישור הבקרה לא אמור לשבש את עומסי העבודה של המשתמשים.
מאגרי צמתים של מאזן עומסים (מאגרי צמתים עם enableLoadBalancer: true) חייבים להיות באותה גרסה כמו האשכול בכל גרסה.
כללי גרסאות של gkectl
גרסת gkectl שבה אפשר להשתמש לשדרוג תלויה בגרסת אשכול היעד (כלומר, גרסת האשכול שאליה משדרגים).
בדרך כלל משתמשים באותה גרסה של gkectl כמו גרסת היעד של האשכול.
במהלך השדרוג, המערכת אוכפת את הכללים הבאים:
גרסת
gkectlצריכה להיות זהה לגרסת היעד המשנית של האשכול או גבוהה ממנה. לדוגמה, אם משדרגים אשכול מגרסה 1.29 לגרסה 1.30, צריך להשתמש ב-gkectlמגרסה 1.30 ואילך. גרסאות התיקון לא משנות.הגרסה של
gkectlיכולה להיות עד שתי גרסאות משניות גבוהה יותר מהגרסה הנוכחית של האשכול. לדוגמה, כדי לשדרג אשכול בגרסה 1.28 לגרסה 1.29, צריך להשתמש ב-gkectlבגרסה 1.29 או 1.30, אבל לא בגרסה 1.31 כי היא גבוהה בשלוש גרסאות משניות מגרסת האשכול.
כשממירים אשכולות לא מתקדמים לאשכולות מתקדמים, הגרסה הבינארית של gkectl חייבת להתאים בדיוק לגרסת ההפצה של היעד. הדרישה המחמירה הזו לגבי הגרסה רלוונטית רק במהלך השדרוג לאשכול מתקדם. לכל שאר השדרוגים המתקדמים של אשכולות, חלים כללי הסטייה הרגילים של הגרסה.
כללים לשדרוג גרסת התיקון
כדי לוודא שהאשכולות שלכם כוללים את תיקוני האבטחה האחרונים, כדאי לשדרג לגרסת התיקון האחרונה בכל פעם שאפשר. גרסאות תיקון לא משפיעות על כללי השדרוג ועל חוסר ההתאמה בין הגרסאות. בגרסה משנית מסוימת, אפשר לשדרג לכל גרסה גבוהה יותר עם תיקון. לדוגמה, אפשר לשדרג מ-1.35.0 ל-1.35.1, ומ-1.35.1 ל-1.35.3.
המאמרים הבאים
כדאי לעיין בשיטות המומלצות לשדרוג וליצור תוכנית לשדרוג האשכולות.
יצירת אשכולות עם אשכולות מתקדמים: