במאמר הזה מוסבר איך לעדכן או לשדרג אשכול לאשכול מתקדם מגרסה 1.32.
דרישות מוקדמות
הגרסה של
gkectlחייבת להיות זהה לגרסה של אשכול היעד.- אם צריך, אפשר לעיין במאמר הורדה של
gkectlכדי לקבל גרסה נתמכת שלgkectl.
- אם צריך, אפשר לעיין במאמר הורדה של
תמיד מאבחנים את האשכול לפני שמבצעים עדכון או שדרוג לאשכול מתקדם:
- מריצים את הפקודה
gkectl diagnose clusterבאשכולות של האדמין והמשתמשים כדי לוודא שהם תקינים. - אם הפקודה מדווחת על שגיאות או אזהרות, צריך לפתור אותן לפני שמתחילים את העדכון או השדרוג לאשכול מתקדם.
- מריצים את הפקודה
חשוב לוודא שבאשכולות נעשה שימוש רק בתכונות מומלצות.
לפני שמתחילים בעדכון או בשדרוג, צריך לוודא שלא נעשה שימוש באף אחד מהאשכולות בתכונות שלא נתמכות באשכולים מתקדמים. אם יש תכונות פעילות שלא נתמכות, צריך להשבית אותן באמצעות update קודם.
- למרות שנדרשים אשכולות משתמשים עם זמינות גבוהה (HA) באשכולות מתקדמים, עדיין אפשר לעדכן או לשדרג אשכול משתמשים ללא HA לאשכול מתקדם עם HA באמצעות המדריך הזה.
לפני שמעדכנים או משדרגים אשכולות משתמשים, צריך לעדכן או לשדרג את אשכול האדמין לאשכול מתקדם.
- מידע על ההתקנה של
cert-manager: המערכת מתקינה אתcert-managerבאופן אוטומטי באשכולות מתקדמים. כשמבצעים העברה מאשכול לא מתקדם לאשכול מתקדם,cert-managerהמשולב דורס אוטומטית כל גרסה שלcert-managerשהלקוח התקין. לפני שמעדכנים או משדרגים לאשכולים מתקדמים, חשוב לוודא שלא מוחלות עלcert-managerהקיים תכונות או הגדרות מותאמות אישית קריטיות. מידע נוסף זמין במאמר בנושא שדרוג ל-cert-managerעם חבילה של אשכולות מתקדמים.
עדכון או שדרוג של אשכול הניהול לאשכול מתקדם
עדכון
כדי לוודא שהאשכול תקין, צריך לבצע אבחון:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG- אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
מתכוננים לאשכול המתקדם:
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-clusterמחליפים את מה שכתוב בשדות הבאים:
BUNDLE_PATH: הנתיב של קובץ החבילה. הקובץ הזה נמצא בתחנת העבודה של האדמין ב-/var/lib/gke/bundles/. לדוגמה:/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
מגדירים את
enableAdvancedClusterבקובץ התצורה של אשכול הניהול לערךtrue.מעדכנים את אשכול האדמין לאשכול מתקדם:
gkectl update admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIGמחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין. -
ADMIN_CLUSTER_CONFIG: הנתיב של קובץ התצורה של אשכול האדמין.
הפקודה תיצור מחדש את כל הצמתים באשכול האדמין.
-
שדרוג
משדרגים את תחנת העבודה של האדמין אם צריך.
כדי לוודא שהאשכול תקין, צריך לבצע אבחון:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG- אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
מתכוננים לאשכול המתקדם:
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-clusterמחליפים את מה שכתוב בשדות הבאים:
BUNDLE_PATH: הנתיב של קובץ החבילה. הקובץ הזה נמצא בתחנת העבודה של האדמין ב-/var/lib/gke/bundles/. לדוגמה:/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
מגדירים את
enableAdvancedClusterבקובץ התצורה של אשכול הניהול לערךtrue.מוודאים שהשדה
bundlepathבקובץ ההגדרות של אשכול הניהול תואם לנתיב של חבילת התוכנה שאליה רוצים לשדרג.שדרוג אשכול האדמין לאשכול מתקדם:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIGמחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין. -
ADMIN_CLUSTER_CONFIG: הנתיב של קובץ התצורה של אשכול האדמין.
הפקודה תפעיל את תהליך ההשקה של יצירה מחדש של כל הצמתים באשכול האדמין. בשיטת הפריסה של יצירה מחדש של פריסה, השדרוג של הצמתים מתבצע אחד בכל פעם. במהלך שדרוג הצומת, המכונה הווירטואלית נמחקת ואז נוצרת מחדש עם הגרסה החדשה.
-
אחרי שמעדכנים או משדרגים את אשכול האדמין לאשכול מתקדם:
אשכולות משתמשים קיימים שאינם מתקדמים ימשיכו לפעול כרגיל.
אפשר ליצור רק אשכולות מתקדמים של משתמשים שמנוהלים על ידי אשכול אדמין מתקדם.
מומלץ לשדרג את כל אשכולות המשתמשים לאשכולות מתקדמים זמן קצר לאחר מכן, כדי לשמור על סביבה עקבית עם כל התכונות.
עדכון או שדרוג של אשכול המשתמשים לאשכול מתקדם
עדכון
כדי לוודא שהאשכול תקין, צריך לבצע אבחון:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME- אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
אם מישור הבקרה של אשכול המשתמשים שלכם לא זמין מאוד (HA):
שינוי
masterNode.replicasמ-1 ל-3.מוסיפים את כתובות ה-IP הסטטיות של הצמתים במישור הבקרה של אשכול המשתמשים לקטע
network.controlPlaneIPBlock.ips.
מתכוננים לאשכול המתקדם:
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-clusterמחליפים את מה שכתוב בשדות הבאים:
BUNDLE_PATH: הנתיב של קובץ החבילה. הקובץ הזה נמצא בתחנת העבודה של האדמין ב-/var/lib/gke/bundles/. לדוגמה:/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
מגדירים את
enableAdvancedClusterבקובץ ההגדרות של אשכול המשתמשים בתורtrue.מעדכנים את אשכול המשתמשים לאשכול מתקדם:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIGמחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין. -
USER_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול המשתמשים.
הפקודה תפעיל יצירה מחדש של כל הצמתים באשכול המשתמשים. באסטרטגיית הפריסה של יצירה מחדש של ההשקה, הצמתים מתעדכנים אחד בכל פעם. במהלך עדכון הצומת, המכונה הווירטואלית נמחקת ואז נוצרת מחדש עם ההגדרה החדשה.
-
שדרוג
כדי לוודא שהאשכול תקין, צריך לבצע אבחון:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME- אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
אם מישור הבקרה של אשכול המשתמשים שלכם לא זמין מאוד (HA):
משנים את
masterNode.replicasמ-1 ל-3.מוסיפים את כתובות ה-IP הסטטיות של הצמתים במישור הבקרה של אשכול המשתמשים לקטע
network.controlPlaneIPBlock.ips.
מתכוננים לאשכול המתקדם:
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-clusterמחליפים את מה שכתוב בשדות הבאים:
BUNDLE_PATH: הנתיב של קובץ החבילה. הקובץ הזה נמצא בתחנת העבודה של האדמין ב-/var/lib/gke/bundles/. לדוגמה:/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
מגדירים את
enableAdvancedClusterבקובץ ההגדרות של אשכול המשתמשים בתורtrue.מוודאים שהשדה
gkeOnPremVersionבקובץ ההגדרות של אשכול המשתמשים זהה לגרסת היעד של השדרוג.משדרגים את אשכול המשתמשים לאשכול מתקדם:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIGמחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין. -
USER_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול המשתמשים.
הפקודה תיצור מחדש את כל הצמתים באשכול המשתמשים.
-
cert-manager בחבילה עם אשכולים מתקדמים
cert-manager הוא רכיב חובה שמנוהל על ידי המערכת באשכולות מתקדמים.
אם אתם משתמשים ב-cert-manager בלי אשכולים מתקדמים, כדאי לבדוק את הדברים הבאים לפני השדרוג לאשכולים מתקדמים:
- אין הגדרות מותאמות אישית או דגלים בתכונות ב-
cert-manager. - הגרסה שלכם,
cert-manager, היא אותה גרסה או גרסה אחת אחורה מהגרסה שכלולה בחבילה.
תאימות ל-Apigee Hybrid
חבילת cert-manager תואמת באופן מלא לעומסי עבודה (workloads) של Apigee Hybrid. כשמשדרגים לאשכול מתקדם, יכול להיות שמנהל ההתקנה יציג אזהרה על כך שההתקנה הקיימת של cert-manager תוחלף. זו התנהגות צפויה שהמערכת מטפלת בה באופן אוטומטי.
כדי לוודא שהמעבר של עומסי העבודה שלכם ב-Apigee יהיה חלק:
- אל תסירו את הגרסה הקיימת של
cert-managerבאופן ידני לפני השדרוג. - החזרה להתאמות אישיות: אם אתם מנהלים את
cert-managerבאמצעות GitOps או שהחלתם הגדרות בהתאמה אישית על הפריסה שלcert-manager, אתם צריכים להחזיר את ההתאמות האישיות האלה או להשהות את הסנכרון לפני השדרוג כדי למנוע סטיות בהגדרות והפסקות אפשריות בשדרוג.
יכולות ומגבלות
אפשר לבצע את הפעולות הבאות באמצעות cert-manager:
- ליצור ולערוך משאבים מסוג
Issuerו-ClusterIssuer. - יצירה ועריכה של משאבי אישורים שמפנים למוציאים ולסוגים סטנדרטיים של מוציאים.
- ליצור ולערוך משאבי Kubernetes רגילים ש-
cert-managerמשתמש בהם. - יוצרים Kubernetes Secrets שמכילים מפתחות API ומפנים אליהם ב-issuers.
- מגדירים את הגורמים המנפיקים כך שישתמשו בפתרונות ספציפיים של HTTP-01 או DNS-01.
אי אפשר להתאים אישית את הפריטים הבאים בחבילה cert-manager:
- מגדירים את הערכים
deploymentאוhelm. - מוסיפים ארגומנטים או תכונות ניסיוניות בשורת הפקודה לקובץ הבינארי
cert-manager. - שינוי מגבלות המשאבים או בוררי הצמתים עבור תרמילי
cert-manager. - משנים את לוגיקת ההתקנה של תוכנת
cert-manager. - מפעילים את התכונות הניסיוניות.
- הכוונה היא להכריח הפעלה של פודים של מישור הבקרה
cert-managerבצמתים ספציפיים של תשתית.
אם יש לכם מגבלות ספציפיות שמונעות מכם להשתמש בחבילה cert-manager, אתם יכולים לפנות אל Google Cloud התמיכה כדי לקבל עזרה באפשרויות מתקדמות להגדרה.
גרסאות בחבילה
בטבלה הבאה מפורטות הגרסאות של cert-manager שכלולות בכל גרסה של Google Distributed Cloud (תוכנה בלבד) ל-VMware.
| Google Distributed Cloud (תוכנה בלבד) ל-VMware | גרסת cert-manager בחבילה |
|---|---|
| 1.32 | 1.17 |
| 1.33 | 1.18 |
| 1.34 | 1.19 |
ההבדלים העיקריים אחרי המעבר לקלאסטרים מתקדמים
שדרוג או עדכון של האשכול לאשכול מתקדם יוצר כמה הבדלים משמעותיים בהשוואה לאשכולות רגילים. אלה השינויים העיקריים באשכולות מתקדמים:
מיקום המשאב: משאבי האשכול והמכונה לא ממוקמים יותר באשכולות משתמשים. המשאבים האלה נמצאים רק באשכול האדמין.
NodeExternalIP: המאפייןNodeExternalIPלא מוגדר בצמתים.התקנה של
cert-manager:cert-managerמותקן אוטומטית באשכולות מתקדמים. אם התקנתם אתcert-managerבאשכול שלכם, עדכון או שדרוג לאשכול מתקדם יחליף אותו בגרסה המתקדמת של האשכול.
בטבלת השוואת התכונות מופיעה סקירה מקיפה של ההבדלים בין התכונות.