בדף הזה מוסבר איך לשדרג את גרסת Kubernetes של אשכולות GKE on AWS.
דרישות מוקדמות
שדרוג גרסת Kubernetes של האשכול הוא מקרה ספציפי של פעולת עדכון האשכול הכללית יותר. אפשר לקרוא על פעולות עדכון של אשכולות באופן כללי בדף עדכון האשכול. כדי לשדרג את גרסת האשכול:
- צריך לשדרג דרך כל גרסה משנית בין הגרסה הנוכחית לגרסת היעד. לדוגמה, כדי לשדרג מגרסה 1.20 לגרסה 1.22, צריך קודם לשדרג מגרסה 1.20 לגרסה 1.21, ואז מגרסה 1.21 לגרסה 1.22.
- צריכה להיות לכם הרשאה לניהול זהויות והרשאות גישה (IAM)
gkemulticloud.googleapis.com/awsClusters.update.
איך מתבצעים עדכונים ב-GKE ב-AWS
שדרוג אשכול מחייב הפעלה מחדש של צמתי מישור הבקרה, ולכן GKE on AWS מבצע 'עדכון בהדרגה' לפי השלבים הבאים:
- בוחרים מופע אחד של מישור הבקרה לעדכון. GKE ב-AWS מעדכן מקרים לא תקינים, אם יש כאלה, לפני מקרים תקינים.
- יוצרים תבנית השקה חדשה למופע.
- מעדכנים את תבנית ההפעלה של קבוצת ה-Auto Scaling.
- מוחקים את המכונה. AWS יוצר מחדש את המופע והמופע מופעל עם ההגדרה החדשה.
- מבצעים בדיקות תקינות במופע החדש.
- אם בדיקות התקינות מצליחות, בוחרים מופע אחר ומבצעים בו את אותם השלבים. חוזרים על התהליך הזה עד שכל המופעים יופעלו מחדש או ייצרו מחדש. אם בדיקת תקינות נכשלת, GKE ב-AWS מעביר את האשכול למצב
DEGRADEDומפסיק את העדכון. מידע נוסף מפורט בקטע הבא. - מוחקים את תבנית ההפעלה המקורית.
מה קורה כשעדכון נכשל
אחרי עדכון, GKE ב-AWS מבצע בדיקת תקינות באשכול.
אם בדיקת תקינות נכשלת, האשכול מסומן בסטטוס DEGRADED. אפשר להציג את הסטטוס של האשכול באמצעות הפקודה הבאה של Google Cloud CLI:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור Google Cloud שמנהל את האשכול
ביצוע השדרוג
בדיקת גרסת האשכול
לפני שמשדרגים את גרסת האשכול, מריצים את הפקודה הבאה כדי לבדוק אילו גרסאות זמינות באזור:
gcloud container aws get-server-config \
--location=GOOGLE_CLOUD_LOCATION
מחליפים את GOOGLE_CLOUD_LOCATION במיקום שממנו מנהלים את האשכולות. Google Cloud
בחירת שיטת שדרוג
אפשר לשדרג את גרסת האשכול באמצעות Google Cloud המסוף, Google Cloud CLI או GKE Multi-Cloud API. אם רוצים להשתמש במסוף כדי לשדרג אשכול, קודם צריך לבחור ולהגדיר שיטת אימות לכניסה לאשכול. מידע נוסף זמין במאמר התחברות לאשכול ואימות.
המסוף
במסוף Google Cloud , נכנסים לדף Google Kubernetes Engine clusters overview.
בוחרים את הפרויקט Google Cloud שבו נמצא האשכול.
ברשימת האשכולות, בוחרים את שם האשכול ואז בוחרים באפשרות הצגת פרטים בחלונית הצדדית.
בכרטיסייה פרטים, לוחצים על שדרוג.
בתיבת הדו-שיח Upgrade the Kubernetes version for the cluster (שדרוג גרסת Kubernetes עבור האשכול), בוחרים את הגרסה שאליה רוצים לשדרג ולוחצים על Done (סיום). חשוב לזכור: כשמשדרגים את האשכול, צריך לשדרג את כל הגרסאות המשניות.
gcloud
כדי לשדרג את גרסת Kubernetes של האשכול, מריצים את הפקודה הבאה:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור הנתמך Google Cloud שמנהל את האשכול. לדוגמה,us-west1 -
CLUSTER_VERSION: גרסת האשכול הנתמכת החדשה
API
כדי לעדכן את האשכול באמצעות ה-API, משתמשים בפעולה PATCH ב-GKE Multi-Cloud API.
יוצרים קובץ JSON בשם
cluster_update.jsonעם התוכן הבא:{ "controlPlane": { "version": "CLUSTER_VERSION", }, }מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_VERSION: גרסת האשכול הנתמכת החדשה. הערה: כשמשדרגים את האשכול, צריך לשדרג את כל הגרסאות המשניות.
-
מעדכנים את ההגדרות האלה באמצעות GKE Multi-Cloud API עם הפקודה הבאה.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_ID?update_mask=controlPlane.Version
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT: Google Cloud נקודת הקצה של השירות-
PROJECT_ID: הפרויקט Google Cloud -
GOOGLE_CLOUD_LOCATION: האזור הנתמך Google Cloud שמנהל את האשכול. לדוגמה,us-west1 -
CLUSTER_ID: מזהה האשכול
מידע נוסף זמין במאמרי העזרה בנושא השיטה projects.locations.awsClusters.patch.
שדרוג של מאגרי הצמתים
אחרי שמשדרגים את גרסת האשכול, משדרגים את מאגרי הצמתים כדי להשלים את התהליך. הוראות מפורטות זמינות במאמר בנושא עדכון מאגר צמתים.
המאמרים הבאים
מידע נוסף על שדות שאפשר לעדכן מופיע במאמרי העזרה של
gcloud container aws clusters update.מידע נוסף זמין במאמרי העזרה של
projects.locations.awsClusters.patchAPI בארכיטקטורת REST.