עדכון או שדרוג של אשכול לאשכול מתקדם

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

דרישות מוקדמות

  • הגרסה של gkectl חייבת להיות זהה לגרסה של אשכול היעד.

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

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

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

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

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

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

עדכון

  1. כדי לוודא שהאשכול תקין, צריך לבצע אבחון:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
    • אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
  2. מתכוננים לאשכול המתקדם:

    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 של אשכול האדמין.

  3. מגדירים את enableAdvancedCluster בקובץ התצורה של אשכול הניהול לערך true.

  4. מעדכנים את אשכול האדמין לאשכול מתקדם:

    gkectl update admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
    • ‫ADMIN_CLUSTER_CONFIG: הנתיב של קובץ התצורה של אשכול האדמין.

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

שדרוג

  1. משדרגים את תחנת העבודה של האדמין אם צריך.

  2. כדי לוודא שהאשכול תקין, צריך לבצע אבחון:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
    • אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
  3. מתכוננים לאשכול המתקדם:

    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 של אשכול האדמין.

  4. מגדירים את enableAdvancedCluster בקובץ התצורה של אשכול הניהול לערך true.

  5. מוודאים שהשדה bundlepath בקובץ ההגדרות של אשכול הניהול תואם לנתיב של חבילת התוכנה שאליה רוצים לשדרג.

  6. שדרוג אשכול האדמין לאשכול מתקדם:

    gkectl upgrade admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
    • ‫ADMIN_CLUSTER_CONFIG: הנתיב של קובץ התצורה של אשכול האדמין.

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

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

  • אשכולות משתמשים קיימים שאינם מתקדמים ימשיכו לפעול כרגיל.

  • אפשר ליצור רק אשכולות מתקדמים של משתמשים שמנוהלים על ידי אשכול אדמין מתקדם.

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

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

עדכון

  1. כדי לוודא שהאשכול תקין, צריך לבצע אבחון:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
    • אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
  2. אם מישור הבקרה של אשכול המשתמשים שלכם לא זמין מאוד (HA):

    1. שינוי masterNode.replicas מ-1 ל-3.

    2. מוסיפים את כתובות ה-IP הסטטיות של הצמתים במישור הבקרה של אשכול המשתמשים לקטע network.controlPlaneIPBlock.ips.

  3. מתכוננים לאשכול המתקדם:

    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 של אשכול האדמין.

  4. מגדירים את enableAdvancedCluster בקובץ ההגדרות של אשכול המשתמשים בתור true.

  5. מעדכנים את אשכול המשתמשים לאשכול מתקדם:

    gkectl update cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
    • ‫USER_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול המשתמשים.

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

שדרוג

  1. כדי לוודא שהאשכול תקין, צריך לבצע אבחון:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
    • אם הפקודה מדווחת על שגיאות או אזהרות, צריך לעיין במאמר בנושא אבחון בעיות באשכול ולפתור אותן לפני שממשיכים.
  2. אם מישור הבקרה של אשכול המשתמשים שלכם לא זמין מאוד (HA):

    1. משנים את masterNode.replicas מ-1 ל-3.

    2. מוסיפים את כתובות ה-IP הסטטיות של הצמתים במישור הבקרה של אשכול המשתמשים לקטע network.controlPlaneIPBlock.ips.

  3. מתכוננים לאשכול המתקדם:

    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 של אשכול האדמין.

  4. מגדירים את enableAdvancedCluster בקובץ ההגדרות של אשכול המשתמשים בתור true.

  5. מוודאים שהשדה gkeOnPremVersion בקובץ ההגדרות של אשכול המשתמשים זהה לגרסת היעד של השדרוג.

  6. משדרגים את אשכול המשתמשים לאשכול מתקדם:

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

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