סקירה כללית על השדרוג

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

איך הגרסאות, הסדר והכלים משפיעים על השדרוגים

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

  • הגרסה שממנה מתחילים
  • הגרסה שאליה משדרגים
  • אם משדרגים מאשכול מתקדם או לא מתקדם
  • אם משדרגים לאשכול מתקדם או לא מתקדם
  • האם Controlplane V2 מופעל באשכול המשתמשים

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

איך בודקים אם אשכול הוא מתקדם או לא מתקדם

כדי לבדוק אם האשכולות שלכם מתקדמים או לא, צריך לזהות את הגרסה שבה אתם משתמשים:

  • אם האשכולות שלכם משתמשים בגרסה 1.30 או בגרסה מוקדמת יותר, הם אשכולות לא מתקדמים.
  • אם האשכולות שלכם משתמשים בגרסה 1.33 ולא ביטלתם במפורש את ההצטרפות לאשכולות מתקדמים, הם אשכולות מתקדמים.
  • אם האשכולות שלכם משתמשים בגרסה 1.34 ואילך, הם אשכולות מתקדמים.

אם האשכולות שלכם משתמשים בגרסאות 1.31 ו-1.32, אתם יכולים לבדוק אם האשכול הוא מתקדם או לא באמצעות בדיקת המשאבים בהתאמה אישית של האשכול באמצעות kubectl:

  1. ב-kubeconfig של אשכול האדמין, בודקים את השדה enableAdvancedCluster spec של אשכול האדמין:

    kubectl get onpremadminclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    מחליפים את ADMIN_CLUSTER_KUBECONFIG בנתיב לקובץ kubeconfig של אשכול האדמין.

  2. ב-kubeconfig של אשכול האדמין, בודקים את השדה enableAdvancedCluster spec של אשכולות המשתמשים:

    kubectl get onpremuserclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

כשאשכולות מתקדמים מופעלים, הפלט דומה לזה:

NAME              VERSION           ADVANCED
gke-admin-abc12   1.32.0-gke.1085   true

אם הערך של ADVANCED הוא true, זהו אשכול מתקדם. בגרסה 1.32 או בגרסאות קודמות, יכול להיות ש-ADVANCED יוצג בתור <none>.

תהליך השדרוג הכללי

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

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

אשכולות מתקדמים לעומת אשכולות לא מתקדמים

יש שני סוגים של אשכולות: מתקדמים ולא מתקדמים. כל האשכולות שנוצרו בגרסאות 1.33 ואילך הם אשכולות מתקדמים. אשכולות מתקדמים משתמשים בארכיטקטורות משופרות שמספקות גמישות ומדרגיות רבה יותר.

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

אשכולות מתקדמים משתמשים בארכיטקטורה מאוחדת של Google Distributed Cloud, שבה תוכנת Google Distributed Cloud לשרת פיזי משמשת כמסגרת הבסיסית לתוכנת Google Distributed Cloud ל-VMware. יכול להיות שתראו הפניות ל-"bare metal" בתוויות של צמתים, במשאבי API ובתגי מערכת.

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

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

שדרוג מאשכולות מתקדמים לאשכולות מתקדמים (גרסאות נוכחיות, החל מ-1.31)

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

כדי לבצע את השדרוג, אתם יכולים להשתמש ב-CLI של gkectl, ב-Google Cloud CLI, במסוף Google Cloud או ב-Terraform (בהתאם לגרסה).

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

  1. אם רלוונטי, משדרגים את תחנת העבודה של האדמין.
  2. משתמשים ב-gkectl diagnose cluster כדי לוודא שאשכול האדמין תקין. פותרים את הבעיות.
  3. משדרגים את אשכול האדמין.
  4. משתמשים ב-gkectl diagnose cluster כדי לוודא שהשדרוג בוצע בהצלחה ושאשכולות המשתמשים תקינים. פותרים את הבעיות.
  5. משדרגים את אשכולות המשתמשים, אחד בכל פעם. אתם יכולים לשדרג את מישור הבקרה ואת מאגרי הצמתים של אשכול המשתמשים ביחד או בנפרד. מידע נוסף זמין במאמר שדרוג מאגרי צמתים.
  6. כדי לוודא שהשדרוג בוצע בהצלחה, משתמשים ב-gkectl diagnose cluster.

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

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

כאן מוסבר איך לאבחן אשכולות באמצעות gkectl diagnose cluster.

במאמר שדרוג אשכול מוסבר איך משדרגים מאשכולות מתקדמים לאשכולות מתקדמים.

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

שדרוגים מאשכול לא מתקדם לאשכול מתקדם מתרחשים רק בגרסאות 1.31,‏ 1.32,‏ 1.33 ו-1.34. מידע נוסף על שדרוג מאשכולות לא מתקדמים לאשכולות מתקדמים בגרסאות האלה זמין במאמר כללי שדרוג גרסאות.

כדי לשדרג מאשכול לא מתקדם לאשכול מתקדם, צריך להשתמש ב-gkectl באותה גרסה כמו גרסת היעד (לדוגמה, אם משדרגים לגרסה 1.32.0, צריך להשתמש ב-gkectl בגרסה 1.32.0) ולפעול לפי הסדר הבא:

  1. משדרגים את תחנת העבודה של האדמין ואת פריטי המידע שנוצרו בתהליך הפיתוח (Artifacts).
  2. משתמשים ב-gkectl diagnose cluster כדי לוודא שאשכול האדמין תקין. פותרים את הבעיות.
  3. משדרגים את אשכול האדמין.
  4. משתמשים ב-gkectl diagnose cluster כדי לוודא שהשדרוג בוצע בהצלחה ושאשכולות המשתמשים תקינים. פותרים את הבעיות.
  5. משדרגים את אשכול המשתמשים.
  6. כדי לוודא שהשדרוג בוצע בהצלחה, משתמשים ב-gkectl diagnose cluster.

כאן מוסבר איך לאבחן אשכולות באמצעות gkectl diagnose cluster.

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

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

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

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

  • בגרסאות היעד 1.31,‏ 1.32 ו-1.33, צריך לשדרג את אשכול האדמין לפני שמשדרגים את אשכולות המשתמשים.
  • בגרסאות יעד 1.30 ומטה, צריך לשדרג את כל אשכולות המשתמשים לפני שמשדרגים את אשכול הניהול.

שדרוג לגרסה 1.31,‏ 1.32 או 1.33

כדי לשדרג לגרסה 1.31,‏ 1.32 או 1.33 בלי להפוך את האשכולות ל-Advanced, צריך לפעול לפי הסדר הבא:

  1. משדרגים את תחנת העבודה של האדמין ומכינים את פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של החבילה.
  2. משתמשים ב-gkectl diagnose cluster כדי לוודא שאשכול האדמין תקין. פותרים את הבעיות.
  3. משדרגים את אשכול האדמין.
  4. משתמשים ב-gkectl diagnose cluster כדי לוודא שהשדרוג בוצע בהצלחה ושאשכולות המשתמשים תקינים. פותרים את הבעיות.
  5. משדרגים את אשכולות המשתמשים, אחד בכל פעם.
  6. כדי לוודא שהשדרוג בוצע בהצלחה, משתמשים ב-gkectl diagnose cluster.

שדרוג לגרסה 1.30 או גרסה ישנה יותר

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

  1. משדרגים את תחנת העבודה של האדמין ומכינים את פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של החבילה.
  2. משתמשים ב-gkectl diagnose cluster כדי לוודא שאשכולות המשתמשים תקינים. פותרים את הבעיות.
  3. משדרגים את כל אשכולות המשתמשים, אחד בכל פעם.
  4. משתמשים ב-gkectl diagnose cluster כדי לוודא שהשדרוג בוצע בהצלחה ושאשכול האדמין תקין. פותרים את הבעיות.
  5. משדרגים את אשכול האדמין.
  6. כדי לוודא שהשדרוג בוצע בהצלחה, משתמשים ב-gkectl diagnose cluster.

כאן מוסבר איך לאבחן אשכולות באמצעות gkectl diagnose cluster.

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

שדרוגי אשכולות

תמיד משדרגים אשכולות אדמין אחד בכל פעם.

כשמשדרגים אשכולות של משתמשים, אפשר לשדרג את כל אשכול המשתמשים (מישור הבקרה וכל מאגרי הצמתים באשכול בו-זמנית), או לשדרג את מישור הבקרה של אשכול המשתמשים ולהשאיר את מאגרי הצמתים בגרסה הנוכחית. הגישה שבה תבחרו תלויה בכמה גורמים, כמו:

  • הסביבה (ייצור או לא ייצור) שבה נמצא האשכול.
  • משך חלון הזמן לתחזוקה.
  • הגרסה של אשכול המשתמשים.

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

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

הכלי שבו תשתמשו תלוי באופן שבו אתם מתכננים לשדרג ובמה שאתם מתכננים לשדרג.

באשכולות אדמין, צריך להשתמש ב-gkectl כדי לשדרג.

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

  • כלי שורת הפקודה gkectl (נדרש לשדרוגים מאשכולות לא מתקדמים לאשכולות מתקדמים)
  • ‫Terraform, אם יצרתם את אשכול המשתמש באמצעות Terraform
  • מסוףGoogle Cloud
  • Google Cloud CLI

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

שדרוג תרחיש השימוש gkectl ‫CLI של gcloud console Terraform הערות והגבלות
שדרוג אשכולות אדמין (כל נתיב) כן לא לא לא אשכולות אדמין תמיד דורשים gkectl.
שדרוג אשכולות לא מתקדמים לאשכולות מתקדמים (המרה) כן לא לא לא גרסת gkectl חייבת להתאים לגרסת היעד. לא יכול להיות הבדל בין גרסת מישור הבקרה (CP) לבין גרסת מאגרי הצמתים.
שדרוג אשכולות לא מתקדמים לאשכולות לא מתקדמים (מדור קודם) כן לא לא לא זמין רק בגרסה 1.33 ובגרסאות קודמות (נתיב ביטול ההצטרפות); אין תמיכה בלקוחות API.
שדרוג אשכולות של משתמשים: מגרסה מתקדמת לגרסה מתקדמת כן כן כן כן1 חלים הכללים הרגילים של הטיית גרסה.
שדרוג של כל אשכול המשתמשים (CP ומאגרי צמתים ביחד) כן כן כן כן1 התכונה נתמכת בכל הכלים לאשכולות משתמשים מתקדמים.
שדרוג מישור הבקרה של אשכול המשתמש בנפרד (CP בלבד) כן כן לא כן1 אי אפשר לשדרג רק את מישור הבקרה.
שדרוג סלקטיבי של מאגרי צמתים אחרי שדרוג CP כן כן לא כן1 אי אפשר לשדרג מאגרי צמתים נפרדים במסוף.
שדרוג של מישור הבקרה ומאגר צמתים אחד או יותר בו-זמנית כן לא לא לא רק ב-gkectl יש תמיכה בשדרוגים חלקיים בו-זמנית של גרסאות של מאגר צמתים ו-CP.

‫1 דרישה של Terraform: אתם יכולים להשתמש ב-Terraform לשדרוג אשכולות משתמשים רק אם אשכול המשתמש נוצר ונוהל במקור באמצעות Terraform.

כדי לקבל מידע על אשכולות שיצרתם באמצעות gkectl באמצעות המסוף או ה-CLI של gcloud, רשמו את האשכול ב-GKE On-Prem API.

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

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

קוראים את השיטות המומלצות לשדרוג ויוצרים תוכנית לשדרוג האשכולות.