עדכון הפרמטרים של אשכול Azure
בדף הזה מוסבר איך לעדכן את ההגדרות של אשכול GKE ב-Azure. אפשר להשתמש בהוראות האלה כדי לעדכן כל הגדרה שניתנת לעדכון באשכול, כולל גרסת Kubernetes. שדרוג הגרסה הוא אחד מהעדכונים הנפוצים ביותר באשכולות, ולכן יש דף נפרד בנושא שדרוג האשכול שבו מוסבר איך לשדרג את גרסת האשכול.
סיבות לעדכון אשכול
יכול להיות שתצטרכו לעדכן אשכול מהסיבות הבאות:
- כדי לעדכן את תיאור האשכול.
- כדי לעדכן את ההערות של האשכול.
- כדי לעדכן את רשימת המשתמשים עם הרשאות אדמין באשכול.
- כדי לעדכן את הגדרות הרישום של האשכול.
- כדי לעדכן את גודל מכונת ה-VM באשכול.
- כדי לעדכן את AzureClient של האשכול:
- כדי לעדכן את האימות של האשכול מ-AzureClient לאיחוד שירותי אימות הזהות של עומסי עבודה.
אפשר גם לעדכן שדות אחרים באשכולות שלא מפורטים כאן.
רשימה מלאה של השדות שאפשר לעדכן מופיעה במסמכי העזרה בנושא gcloud container azure clusters update וprojects.locations.azureClusters.patch.
דרישות מוקדמות
כדי לעדכן שדות באשכול, אתם צריכים הרשאה לניהול זהויות והרשאות גישה (IAM)
gkemulticloud.googleapis.com/azureClusters.update.
תהליך העדכון
תהליך העדכון של אשכול ב-GKE on Azure משתנה בהתאם לסוג העדכון. במקרים מסוימים, GKE on Azure יכול לעדכן אשכול בלי להפעיל מחדש או ליצור מחדש משאבים – לדוגמה, עדכון התיאור של אשכול. ב-GKE ב-Azure, השינויים האלה מתעדכנים באופן מיידי.
שינויים אחרים מחייבים הפעלה מחדש של הצמתים במישור הבקרה – לדוגמה, עדכון הגודל של המכונה הווירטואלית או גרסת Kubernetes. במקרה של עדכונים כאלה, GKE on Azure מבצע 'עדכון בהדרגה (rolling)' שכולל את השלבים הבאים:
- בוחרים מופע אחד של מישור הבקרה לעדכון. GKE ב-Azure מעדכן מקרים לא תקינים, אם יש כאלה, לפני מקרים תקינים.
- מוחקים את המכונה. GKE ב-Azure יוצר מחדש את המופע והמופע מופעל עם ההגדרה החדשה.
- מבצעים בדיקות תקינות במופע החדש.
- אם בדיקות התקינות מצליחות, בוחרים מופע אחר ומבצעים בו את אותם השלבים. חוזרים על התהליך הזה עד שכל המופעים יופעלו מחדש או ייצרו מחדש.
אם בדיקת תקינות נכשלת, GKE on Azure מעביר את האשכול למצב
DEGRADEDומפסיק את העדכון. מידע נוסף מפורט בקטע הבא.
מה קורה כשעדכון נכשל
אחרי עדכון, GKE on Azure מבצע בדיקת תקינות באשכול.
אם בדיקת תקינות נכשלת, האשכול מסומן בסטטוס DEGRADED. אפשר להציג את הסטטוס של האשכול באמצעות הפקודה הבאה של Google Cloud CLI:
gcloud container azure clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור Google Cloud שמנהל את האשכול
עדכון האשכול
אפשר להשתמש במסוף Google Cloud , ב-Google Cloud CLI או ב-GKE Multi-Cloud API כדי לעדכן כמה שדות של אשכולות בבת אחת.
בחירת שיטת עדכון
אפשר לעדכן את רוב השדות באמצעות המסוף, ה-CLI של gcloud או GKE Multi-Cloud API. יש שדות שאפשר לעדכן רק באמצעות מנגנון אחד. אם רוצים להשתמש במסוף כדי לעדכן אשכול, קודם צריך לבחור ולהגדיר שיטת אימות לכניסה לאשכול. מידע נוסף זמין במאמר התחברות לאשכול ואימות.
המסוף
במסוף Google Cloud , נכנסים לדף Google Kubernetes Engine clusters overview.
בוחרים את הפרויקט Google Cloud שבו נמצא האשכול.
ברשימת האשכולות, בוחרים את שם האשכול ואז בוחרים באפשרות הצגת פרטים בחלונית הצדדית.
בכרטיסייה פרטים, לוחצים על עריכה בשדה שרוצים לשנות.
לדוגמה, כדי להעניק הרשאות אדמין של אשכול למשתמשים אחרים, בוחרים באפשרות עריכה לצד משתמשי אדמין ומזינים את כתובת האימייל של המשתמש.
כשמסיימים לבצע שינויים, לוחצים על סיום.
gcloud
כשמעדכנים אשכול באמצעות ה-CLI של gcloud, תמיד צריך לכלול את השדות CLUSTER_NAME ו-GOOGLE_CLOUD_LOCATION, שמציינים ל-GKE on Azure איזה אשכול לעדכן. בפקודה הבאה, כוללים רק את השדות שרוצים לעדכן ומסירים את שאר השדות לפני שמריצים את הפקודה.
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--client=CLIENT_NAME \
--vm-size=VM_SIZE
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION(חובה): האזור הנתמך Google Cloud שמנהל את האשכול – לדוגמה,us-west1 -
CLUSTER_VERSION: גרסת האשכול הנתמכת החדשה -
USERNAME_LIST: רשימה מופרדת בפסיקים של שמות משתמשים, לדוגמה, kai@example.com,hao@example.com,kalani@example.com. אלה כתובות האימייל של המשתמשים שאתם מעניקים להם הרשאות אדמין באשכול הזה. השמות בהגדרה הזו יחליפו כל רשימה קודמת של משתמשים עם הרשאות אדמין באשכול. -
CLIENT_NAME: AzureClient -
VM_SIZE: גודל המכונה הווירטואלית החדש הנתמך
כדי לעדכן את האימות של האשכול מ-AzureClient לאיחוד שירותי אימות הזהות של עומסי עבודה, מריצים את הפקודה הבאה:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--azure-tenant-id="${TENANT_ID}" \
--azure-application-id="${APPLICATION_ID}" \
--clear-client
API
כשמעדכנים אשכול באמצעות GKE Multi-Cloud API, צריך תמיד לכלול את השדות CLUSTER_NAME ו-GOOGLE_CLOUD_LOCATION בבקשת ה-HTTP. השדות האלה מציינים ל-GKE ב-Azure איזה אשכול לעדכן. צריך גם לכלול את נקודת קצה ל-API בבקשה. יוצרים קובץ JSON עם השדות שרוצים לעדכן. בקובץ ה-JSON וב-UPDATE_MASK, כוללים רק את השדות שרוצים לעדכן.
בדוגמה הבאה אפשר לראות איך מעדכנים את האשכול באמצעות ה-API.
למידע נוסף, כולל רשימת השדות שאפשר לעדכן, אפשר לעיין במסמכי התיעוד של השיטה projects.locations.azureClusters.patch.
יוצרים קובץ JSON בשם
cluster_update.jsonעם השדות שרוצים לעדכן.- כשמשתמשים באיחוד שירותי אימות הזהות של עומסי עבודה, קובץ ה-JSON צריך להיראות כך:
{ "description": "CLUSTER_DESCRIPTION", "controlPlane": { "version": "CLUSTER_VERSION", "vm_size": "VM_SIZE }, "azureServicesAuthentication": { "tenantId": "TENANT_ID", "applicationId": "APPLICATION_ID" }, "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } } - כשמשתמשים בלקוח Azure, קובץ ה-JSON צריך להיראות כך:
{ "description": "CLUSTER_DESCRIPTION", "controlPlane": { "version": "CLUSTER_VERSION", "vm_size": "VM_SIZE }, "azureClient": "CLIENT_NAME", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_VERSION: גרסת האשכול הנתמכת החדשה. הערה: כשמשדרגים את האשכול, צריך לשדרג את כל הגרסאות המשניות. -
CLUSTER_DESCRIPTION: התיאור החדש של האשכול -
USERNAME1,USERNAME2,USERNAME3: כתובות האימייל של המשתמשים שאתם רוצים לתת להם הרשאות אדמין באשכול הזה. השמות בשדות האלה יחליפו כל רשימה קודמת של משתמשים עם הרשאות אדמין באשכול. -
CLIENT_NAME: השם של AzureClient -
TENANT_ID: מזהה הדייר ב-Azure -
APPLICATION_ID: מזהה אפליקציית Azure שנוצר ביצירת אפליקציה ב-Azure Active Directory -
VM_SIZE: גודל המכונה הווירטואלית החדש
- כשמשתמשים באיחוד שירותי אימות הזהות של עומסי עבודה, קובץ ה-JSON צריך להיראות כך:
מעדכנים את ההגדרות האלה באמצעות GKE Multi-Cloud API עם הפקודה הבאה.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT(חובה): Google Cloud נקודת הקצה של השירות -
PROJECT_ID(חובה): הפרויקט Google Cloud -
GOOGLE_CLOUD_LOCATION(חובה): האזור הנתמך Google Cloud שמנהל את האשכול – לדוגמה,us-west1 -
CLUSTER_NAME(חובה): שם האשכול -
UPDATE_MASK(חובה): רשימה מופרדת בפסיקים של דגל אחד או יותר מהדגלים הבאים, שמציינים אילו שדות רוצים לעדכן. בדוגמה הזו, מציינים את הפרטים הבאים.- controlPlane.version
- description
- authorization.admin_users
- control_plane.vm_size
- azure_client
- azure_services_authentication.tenant_id
- azure_services_authentication.application_id
כדי לעדכן את האימות של האשכול מ-AzureClient לאיחוד שירותי אימות הזהויות של עומסי עבודה, מוסיפים את azure_client, azure_services_authentication.tenant_id ו-azure_services_authentication.application_id בשדה update_mask.
עדכון הגדרות הרישום ביומן
אפשר לעדכן את הגדרות התצורה של Cloud Logging באשכול באמצעות Google Cloud CLI. כדי לעדכן את הגדרות הרישום ביומן, מריצים את הפקודה הבאה:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור הנתמך Google Cloud שמנהל את האשכול. לדוגמה,us-west1 -
LOGGING_CONFIG: [מערכת] או [מערכת,עומס עבודה]
המאמרים הבאים
- כדי לעדכן מפתחות KMS של נפח, ראו רוטציית מפתחות
- מידע נוסף על שדות שאפשר לעדכן מופיע במאמרי העזרה של
gcloud container azure clusters update. - מידע נוסף זמין במאמרי העזרה של
projects.locations.azureClusters.patchAPI בארכיטקטורת REST.