בדף הזה מוסבר איך לשדרג את גרסת 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 מבצע 'עדכון בהדרגה (rolling)' לפי השלבים הבאים:
- בוחרים מופע אחד של מישור הבקרה לעדכון. 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.patchREST API.