שדרוג של תחנת העבודה של האדמין, אשכולות המשתמשים ואשכולות האדמין ב-Google Distributed Cloud (תוכנה בלבד) ל-VMware מאפשר לכם להשתמש בגרסאות נתמכות של Kubernetes, בתיקוני אבטחה ובפיצ'רים של הפלטפורמה. במאמר הזה מוסבר איך משדרגים ביחד את מישור הבקרה ואת מאגרי הצמתים של אשכול משתמש. כדי לשדרג אותם בנפרד, קראו את המאמר שדרוג מאגרי צמתים.
לפני שמתחילים, כדאי לעיין בסקירה הכללית של השדרוג כדי לבחור את הכלים ואת סדר השדרוג, בכללי השדרוג של הגרסאות כדי לבדוק את הדרישות של מערכת ההפעלה ואת ההבדלים בין הגרסאות הספציפיות לגרסה, ובשיטות המומלצות לשדרוג כדי לעיין ברשימות המשימות לפני השדרוג.
לפני שמתחילים
לפני שמתחילים את השדרוג, חשוב לוודא שיש לכם גיבוי עדכני של אשכולות האדמין והמשתמשים. מידע נוסף זמין במאמר גיבוי אשכולות של משתמשים ואדמינים.
אבחון האשכול לפני השדרוג. מריצים את הפקודה
gkectl diagnose clusterכדי לוודא שאשכול האדמין תקין, ופותרים את כל הבעיות לפני שמתחילים בשדרוג.חשוב לוודא שגרסת ה-
gkectlוהאשכולות מתאימה לשדרוג, ושהורדתם את החבילה המתאימה. ההבדל בין הגרסאות של אשכולות האדמין והמשתמשים תלוי בגרסה של Google Distributed Cloud. כדי לוודא שאפשר לשדרג את אשכול האדמין, עיינו בכללי הגרסה של הגרסה שלכם.מוודאים שהשדה
bundlepathבקובץ התצורה של אשכול האדמין תואם לנתיב של החבילה שאליה רוצים לשדרג.אם תבצעו שינויים אחרים בשדות בקובץ התצורה של אשכול האדמין, המערכת תתעלם מהם במהלך השדרוג. כדי שהשינויים האלה ייכנסו לתוקף, קודם צריך לשדרג את האשכול ואז להריץ את הפקודה update cluster עם השינויים בקובץ התצורה כדי לבצע שינויים אחרים באשכול.
בדיקת הכללים של חומת האש
בגרסה 1.29 ואילך, בדיקות מקדימות בצד השרת מופעלות כברירת מחדל. בדיקות מקדימות בצד השרת דורשות כללים נוספים של חומת האש. במאמר כללי חומת אש לאשכולות אדמין, חפשו את "בדיקות מקדימות" וודאו שכל כללי חומת האש הנדרשים מוגדרים.
כשמשדרגים אשכול משתמש באמצעות gkectl, בדיקות מקדימות בצד השרת פועלות באשכול האדמין במקום באופן מקומי בתחנת העבודה של האדמין. בדיקות מקדימות בצד השרת פועלות גם באשכול האדמין כשמשתמשים במסוף Google Cloud , ב-Google Cloud CLI או ב-Terraform כדי לשדרג אשכול.
כשמשדרגים אשכול אדמין, Google Distributed Cloud פורס אשכול Kubernetes in Docker (kind) כדי לארח באופן זמני את בקרי Kubernetes שנדרשים לשדרוג אשכול האדמין. האשכול הזמני הזה נקרא אשכול אתחול. בדיקות מקדימות בצד השרת מופעלות באשכול ה-bootstrap כשמשדרגים אשכול אדמין.
הפעל את stackdriver
אם יצרתם את אשכול המשתמשים באמצעות gkectl, לפני השדרוג ודאו שהקטע stackdriver בקובץ התצורה של אשכול המשתמשים מלא, כדי להפעיל את stackdriver (שנדרש לרישום ביומן ולמעקב). אם stackdriver לא מופעל, ממלאים את הקטע stackdriver בקובץ התצורה של אשכול המשתמש ומעדכנים את האשכול לפני השדרוג.
אם יצרתם את האשכול באמצעות Terraform, מסוף Google Cloud או ה-CLI של gcloud, stackdriver מופעל באופן אוטומטי.
הפעלת Dataplane V2
החל מגרסה 1.31, צריך להפעיל את Dataplane V2 בכל אשכולות המשתמשים.
לפני שמשדרגים אשכול משתמש לגרסה 1.31, צריך לבצע את הפעולות הבאות. אם אתם חוששים להסיר באופן זמני את המפרט של NetworkPolicy, פנו לתמיכה של Google.
מגדירים את enableDataplaneV2 לערך true בקובץ התצורה של אשכול המשתמשים.
אם באשכול שלכם נעשה שימוש ב-NetworkPolicy, צריך להסיר באופן זמני את המפרט שלו מהאשכול, באופן הבא:
בודקים אם יש
NetworkPolicyשלא שייך למערכת ומוגדר באשכול:kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \ get networkpolicy -A -o wide \ --field-selector metadata.namespace!=kube-systemמחליפים את
USER_CLUSTER_KUBECONFIGבנתיב של קובץ ה-kubeconfig של אשכול המשתמש.אם קיימות רק כללי מדיניות של
kube-systemשמוגדרים כברירת מחדל, הפקודה מחזירה את הערךNo resources found.אם הפקודה הקודמת מציגה אובייקטים מסוג
NetworkPolicy, שומרים כל מפרט שלNetworkPolicyבקובץ כדי שתוכלו להחיל מחדש את המפרט אחרי שדרוג האשכול:kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get networkpolicy NETWORK_POLICY_NAME -n NETWORK_POLICY_NAMESPACE -o yaml > NETWORK_POLICY_NAME.yamlמחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_POLICY_NAME: השם של ה-NetworkPolicyשאתם שומרים. -
NETWORK_POLICY_NAMESPACE: מרחב השמות שלNetworkPolicy.
-
מוחקים את
NetworkPolicyבאמצעות הפקודה הבאה:kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete networkpolicy NETWORK_POLICY_NAME -n NETWORK_POLICY_NAMESPACEממשיכים בשדרוג.
בסיום השדרוג, אם הסרתם מפרטים של
NetworkPolicyשלא שייכים למערכת, אתם צריכים להחיל אותם מחדש באמצעות הפקודה הבאה:kubectl --kubeconfig USER_CLUSTER_KUBECONFIG apply -f NETWORK_POLICY_NAME.yaml
דרישות לגבי Google API ו-IAM
כדי לשדרג אשכול לגרסה 1.28 ואילך, צריך להפעיל את kubernetesmetadata.googleapis.com ולהקצות את התפקיד kubernetesmetadata.publisher ב-IAM לחשבון השירות של רישום ביומן ומעקב. השינויים האלה נדרשים כדי להשתמש ב-Cloud Monitoring.
הפעלה של
kubernetesmetadata.googleapis.com:gcloud services enable --project PROJECT_ID \ kubernetesmetadata.googleapis.comמחליפים את
PROJECT_IDבמזהה של פרויקט המארח של ה-Fleet שאשכול המשתמש חבר בו. זה הפרויקט שציינתם כשהאשכול נוצר. אם יצרתם את האשכול באמצעותgkectl, זהו מזהה הפרויקט בשדהgkeConnect.projectIDבקובץ התצורה של האשכול.אם הארגון שלכם הגדיר רשימת היתרים שמאפשרת לתנועה מ-Google APIs ומכתובות אחרות לעבור דרך שרת ה-proxy, הוסיפו את
kubernetesmetadata.googleapis.comלרשימת ההיתרים.מקצים את התפקיד
kubernetesmetadata.publisherלחשבון השירות של רישום ביומן ומעקב:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/kubernetesmetadata.publisher"מחליפים את
SERVICE_ACCOUNT_EMAILבכתובת האימייל של חשבון השירות למעקב אחרי רישום ביומן.
תכונות מדור קודם נחסמות בשדרוגים
התכונות הבאות מדור קודם נחסמות במהלך שדרוג האשכול לגרסה 1.32:
- Dataplane V1 (Calico)
- הגדרת מאזן עומסים משולב של F5 Big IP
- אשכול אדמין ללא זמינות גבוהה (HA)
- אשכול משתמשים ב-Kubeception
- מאזן עומסים של Seesaw
לפני שמשדרגים לגרסה 1.32, צריך להעביר את האשכולות לתכונות המומלצות.
דרישות IAM לשדרוג אשכולות משתמשים
אם אתם מתכננים להשתמש ב-gkectl לשדרוג אשכול המשתמשים, דלגו על הקטע הזה.
אם אתם רוצים להשתמש במסוף Google Cloud , ב-Google Cloud CLI או ב-Terraform כדי לשדרג אשכול משתמש, ואתם לא הבעלים של הפרויקט, צריך להקצות לכם את התפקיד roles/gkeonprem.admin בניהול זהויות והרשאות גישה (IAM) בפרויקט Google Cloud שבו נוצר האשכול. במאמר תפקידים ב-GKE on-prem שבמסמכי התיעוד של IAM מפורטות ההרשאות שכלולות בתפקיד הזה.
כדי לשדרג את האשכול באמצעות המסוף, צריך גם את ההרשאות הבאות:
roles/container.viewer. התפקיד הזה מאפשר למשתמשים לראות את הדף GKE Clusters ומשאבים אחרים של קונטיינרים במסוף. במאמר תפקידים ב-Kubernetes Engine שבמסמכי התיעוד של IAM מפורטות ההרשאות שכלולות בתפקיד הזה, ומוסבר איך להקצות תפקיד עם הרשאות קריאה/כתיבה.
roles/gkehub.viewer. התפקיד הזה מאפשר למשתמשים לראות אשכולות במסוף. במאמר תפקידים ב-GKE Hub שבמסמכי התיעוד של IAM מפורטות ההרשאות שכלולות בתפקיד הזה, ומוסבר איך להקצות תפקיד עם הרשאות קריאה/כתיבה.
מגבלות של אשכולות מתקדמים
אם הפעלתם אשכולות מתקדמים, שימו לב למגבלות הבאות:
כשמשדרגים אשכולות מגרסה 1.32 לגרסה 1.33, צריך להשתמש ב-
gkectl. הלקוחות של GKE On-Prem API (המסוף, ה-CLI של gcloud ו-Terraform) לא נתמכים בנתיב השדרוג הספציפי הזה, אבל נתמכים בשדרוגים החל מגרסה 1.33.באשכולות מתקדמים בגרסה 1.31 בגרסת טרום-השקה (Preview), או כשממירים אשכול ניהול לא מתקדם לאשכול ניהול מתקדם, צריך להריץ שדרוג סינכרוני. בגרסה 1.32 ואילך, אפשר להשתמש בדגל
--asyncעם הפקודותgkectl upgrade adminו-gkectl upgrade clusterלאשכולות מתקדמים קיימים.
שינוי הגדרות לפני או אחרי השדרוג
אם אתם צריכים לבצע שינויים בהגדרות של האשכולות, בצעו את עדכון האשכול לפני השדרוג או אחריו. השינוי היחיד שצריך לבצע בהגדרות של האשכול לצורך שדרוג הוא הגרסה. בהתאם לגרסה ולסוג של האשכול, שינויים אחרים בהגדרות לא יתבצעו או יגרמו לשדרוג להיכשל. מידע נוסף זמין במאמר הסרת שינויים לא נתמכים כדי לבטל את חסימת השדרוג.
בדיקת הגרסאות הזמינות לשדרוגי אשכולות
מריצים את הפקודה הבאה כדי לראות אילו גרסאות זמינות לשדרוג:
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
מחליפים את ADMIN_CLUSTER_KUBECONFIG בנתיב לקובץ ה-kubeconfig של אשכול האדמין.
בפלט מוצגות הגרסה הנוכחית והגרסאות שזמינות לשדרוג.
אם אתם מתכננים להשתמש במסוף, ב-CLI של gcloud או ב-Terraform לצורך השדרוג, הגרסה תהיה זמינה ב-GKE On-Prem API בכל האזורים של Google Cloud תוך 7 עד 14 ימים אחרי ההשקה.
במסוף מופיעות רק הגרסאות הזמינות לשדרוג אשכול המשתמשים. השלבים לשדרוג אשכול משתמש באמצעות ה-CLI של gcloud או Terraform כוללים שלב להרצת gcloud container vmware clusters query-version-config כדי לקבל את הגרסאות הזמינות לשדרוג.
שדרוג תחנת העבודה של האדמין
הדרך שבה משדרגים את תחנת העבודה של האדמין תלויה באופן שבו יצרתם אותה: gkeadm או מנוהלת על ידי המשתמש.
gkeadm
איתור הקבצים הנדרשים
לפני שיצרתם את תחנת העבודה של האדמין, מילאתם קובץ תצורה של תחנת עבודה של אדמין שנוצר על ידי gkeadm create config. שם ברירת המחדל של הקובץ הוא admin-ws-config.yaml.
בנוסף, לתחנת העבודה יש קובץ מידע. שם ברירת המחדל של הקובץ הזה זהה לשם של תחנת העבודה של האדמין.
מאתרים את קובץ התצורה של תחנת העבודה של האדמין ואת קובץ המידע. הם נדרשים כדי לבצע את שלבי השדרוג. אם הקבצים האלה נמצאים בספרייה הנוכחית ויש להם את שמות ברירת המחדל, לא תצטרכו לציין אותם כשתריצו את פקודות השדרוג. אם הקבצים האלה נמצאים בספרייה אחרת, או אם שיניתם את שמות הקבצים, אתם צריכים לציין אותם באמצעות הדגלים --config ו---info-file.
אם קובץ פרטי הפלט חסר, אתם יכולים ליצור אותו מחדש. איך יוצרים מחדש קובץ מידע אם הוא חסר
שדרוג
משדרגים את תחנת העבודה של האדמין:
בודקים את השדה
adminWorkstation.diskGBבקובץ התצורה של תחנת העבודה של האדמין, ומוודאים שהגודל שצוין הוא לפחות 100, לדוגמה:adminWorkstation: diskGB: 100כשמשדרגים לגרסה 1.28 ואילך, נדרשים 100GB, והשדרוג של האשכול נכשל אם אין מספיק מקום בכונן של תחנת העבודה של האדמין.
משרת ה-jump, מורידים את
gkeadm:gkeadm upgrade gkeadm --target-version TARGET_VERSION
מחליפים את
TARGET_VERSIONבגרסה שאליה משדרגים. צריך לציין מספר גרסה מלא בפורמטX.Y.Z-gke.N. לרשימה של גרסאות Google Distributed Cloud, ראו ניהול גרסאות.משדרגים את תחנת העבודה של האדמין:
gkeadm upgrade admin-workstation --config AW_CONFIG_FILE \ --info-file INFO_FILE
מחליפים את מה שכתוב בשדות הבאים:
AW_CONFIG_FILE: הנתיב של קובץ התצורה של תחנת העבודה של האדמין. אפשר להשמיט את הדגל הזה אם הקובץ נמצא בספרייה הנוכחית והשם שלו הואadmin-ws-config.yaml.
INFO_FILE: הנתיב של קובץ המידע. אפשר להשמיט את הדגל הזה אם הקובץ נמצא בספרייה הנוכחית. שם ברירת המחדל של הקובץ הזה זהה לשם של תחנת העבודה של האדמין.
בניהול המשתמשים
בתחנת העבודה של האדמין, עוברים לספרייה שבה רוצים להתקין גרסה חדשה של gkectl.
הורדה של
gkectl:gcloud storage cp gs://gke-on-prem-release/gkectl/TARGET_VERSION/gkectl ./ chmod +x gkectl
מחליפים את
TARGET_VERSIONבגרסה שאליה משדרגים. צריך לציין מספר גרסה מלא בפורמטX.Y.Z-gke.N. לרשימה של גרסאות Google Distributed Cloud, ראו ניהול גרסאות.מורידים את החבילה של Google Distributed Cloud. צריך לוודא שהגרסה תואמת לגרסה שבה השתמשת כדי להוריד את
gkectl:gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/TARGET_VERSION/gke-onprem-vsphere-TARGET_VERSION.tgz ./
שדרוג אשכול האדמין
השלבים לשדרוג אשכול האדמין משתנים מעט בהתאם לגרסה המשנית שאליה משדרגים (גרסת היעד):
1.31 ומעלה
אם גרסת היעד היא 1.31 ואילך, לפני שמשדרגים את אשכולות המשתמשים לגרסת המשנה הבאה, צריך לשדרג את אשכול הניהול. בגרסה 1.31 ואילך, גרסת אשכול האדמין, כולל גרסת התיקון, חייבת להיות גדולה או שווה לגרסת אשכול המשתמש. לדוגמה, אם אשכול אדמין הוא בגרסה 1.31.1, הגרסה הגבוהה ביותר שאפשר לשדרג אליה את אשכול המשתמש היא 1.31.1.
מריצים את הפקודה הבאה בתחנת העבודה של האדמין כדי לייבא קובצי אימג' של מערכת ההפעלה ל-vSphere:
gkectl prepare \
--bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG
מחליפים את ADMIN_CLUSTER_KUBECONFIG בנתיב לקובץ ה-kubeconfig של אשכול האדמין.
1.30 ומטה
אם גרסת היעד היא 1.30 או גרסה קודמת, צריך לשדרג את כל אשכולות המשתמשים לפני שמשדרגים את אשכול ה-Admin. הגרסה המשנית של אשכול האדמין חייבת להיות שווה לגרסה המשנית של אשכול המשתמש או קטנה ממנה. גרסת התיקון לא משנה. לדוגמה, אם אשכול המשתמש הוא בגרסה 1.30.1, אפשר לשדרג את אשכול האדמין לגרסת תיקון גבוהה יותר, כמו 1.30.3.
ביצוע השדרוג
gkectl
את השלבים בקטע הזה צריך לבצע בתחנת עבודה של אדמין. יש שתי גרסאות לפקודה gkectl upgrade admin:
אסינכרוני:
בגרסה האסינכרונית, הפקודה מתחילה את השדרוג ואז מסתיימת. לא צריך לצפות בפלט של הפקודה לאורך כל השדרוג. במקום זאת, אתם יכולים לבדוק מדי פעם את התקדמות השדרוג על ידי הפעלתgkectl list adminו-gkectl describe admin. כדי להשתמש בווריאציה האסינכרונית, צריך לכלול את הדגל--asyncבפקודה.דרישות לשדרוג אסינכרוני:
- נתמך רק באשכולות אדמין עם זמינות גבוהה בגרסה 1.29 ואילך.
- בכל אשכולות המשתמשים צריך להפעיל את Controlplane V2.
- גרסה 1.31: לא נתמכת באשכולות מתקדמים.
- גרסה 1.32 ואילך: זמינה באשכולות מתקדמים.
סינכרוני:
בגרסה הסינכרונית, הפקודהgkectl upgrade adminמפיקה הודעות סטטוס לתחנת העבודה של האדמין בזמן שהשדרוג מתבצע.
שדרוג אסינכרוני
בתחנת העבודה של האדמין, מאבחנים את האשכול לפני השדרוג:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
אם הפקודה מדווחת על שגיאות או אזהרות, עיינו בקטע אבחון בעיות באשכול ופתרו אותן לפני שתמשיכו.
מתחילים שדרוג אסינכרוני:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE \ --async
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
ADMIN_CLUSTER_CONFIG_FILE: הנתיב לקובץ התצורה של אשכול האדמין.
הפקודה הקודמת מסתיימת, ואתם יכולים להמשיך להשתמש בתחנת העבודה של האדמין בזמן שהשדרוג מתבצע.
כדי לראות את סטטוס השדרוג:
gkectl list admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
הפלט מציג ערך לאשכול
STATE. אם האשכול עדיין משתדרג, הערך שלSTATEהואUPGRADING. לדוגמה:NAME STATE AGE VERSION gke-admin-test UPGRADING 9h 1.36.100-gke.144
הערכים האפשריים של
STATEהםRUNNING,UPGRADING,RECONCILING,ERRORו-UNKNOWN.כדי לקבל פרטים נוספים על התקדמות השדרוג ועל אירועים באשכול:
gkectl describe admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
הפלט מציג את המשאב המותאם אישית OnPremAdminCluster של אשכול האדמין שצוין, כולל הסטטוס והתנאים של האשכול.
לצפייה בפלט לדוגמה
Status: Cluster State: RUNNING Conditions: Last Transition Time: 2026-08-10T20:22:58Z Message: Operator NodePool is ready Observed Generation: 2 Reason: OperatorNodePoolReady Status: True Type: ControlPlaneReady Last Transition Time: 2026-08-10T20:22:59Z Message: Cluster is running Observed Generation: 2 Reason: ClusterRunning Status: True Type: Ready Last Transition Time: 2026-08-10T20:23:00Z Message: Observed Generation: 2 Reason: Reconciling Status: False Type: OperatorClusterKubeProxyCleanedUp Last Transition Time: 2026-08-10T20:22:58Z Message: Observed Generation: 2 Reason: PreflightCheckPassed Status: True Type: OperatorClusterPreflightCheckSuccessful Last Transition Time: 2026-08-10T15:56:50Z Message: Observed Generation: 2 Reason: ProvisioningStarted Status: True Type: OperatorClusterProvisioningStarted Last Transition Time: 2026-08-10T15:56:50Z Message: Observed Generation: 2 Reason: RemoteTrackerSetupComplete Status: True Type: OperatorClusterRemoteTrackerSetupSuccessful Last Transition Time: 2026-08-10T15:56:50Z Message: Observed Generation: 2 Reason: Reconciling Status: False Type: OperatorClusterStalled Last Transition Time: 2026-08-10T15:56:50Z Message: Observed Generation: 2 Reason: NotPresent Status: False Type: OperatorClusterWaitingOnPendingClusterID Last Transition Time: 2026-08-10T20:22:59Z Message: Operator Cluster is ready Observed Generation: 2 Reason: OperatorClusterReady Status: True Type: OperatorClusterReady Last Transition Time: 2026-08-10T15:56:50Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ComponentProvisionerSystemProfileInstalled Last Transition Time: 2026-08-10T15:58:20Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ComponentProvisionerAdminProfileInstalled Gke On Prem Version: 1.36.0-gke.527 Last Gke On Prem Version: 1.35.300-gke.87 Management Conditions: Last Transition Time: 2026-08-10T15:58:20Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ManagementProfilesReady Last Transition Time: 2026-08-10T15:56:29Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ComponentProvisionerSystemManagementProfileInstalled Last Transition Time: 2026-08-10T15:58:20Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ComponentProvisionerManagementProfileInstalled Operator Cluster Status: Control Plane Node Pool Status: Anthos Bare Metal Version: 1.36.0-gke.527 Anthos Bare Metal Versions: 1.36.0-gke.527: 3 Conditions: Last Transition Time: 2026-08-10T20:18:20Z Observed Generation: 11 Reason: PreflightCheckPassed Status: True Type: PreflightCheckSuccessful Last Transition Time: 2026-08-10T20:22:58Z Observed Generation: 11 Reason: NodepoolReady Status: True Type: Ready Last Transition Time: 2026-08-10T20:22:22Z Observed Generation: 11 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Versions: v1.36.0-gke.2800: 3 Last Reconciliation Time: 2026-08-10T20:25:07Z Maintenance Nodes: 0 Managed Fields: Label Keys: kubernetes.googleapis.com/cluster-name node.kubernetes.io/control-plane node.kubernetes.io/master Node Label Keys: vsphere://abcdef-1: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name vsphere://abcdef-2: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name vsphere://abcdef-3: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name Taints: Effect: PreferNoSchedule Key: node-role.kubernetes.io/control-plane Ready Nodes: 3 Ready Timestamp: 2026-08-10T15:54:01Z Reconciling Nodes: 0 Stalled Nodes: 0 Unknown Nodes: 0 Data Plane Load Balancer Status: Conditions: Last Transition Time: 2026-08-10T15:39:16Z Observed Generation: 1 Reason: ReconciliationCompleted Status: False Type: Reconciling Node Pool Location: control-plane-nodepool External Manifests Conditions: Last Transition Time: 2026-08-10T15:56:32Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Connect Conditions: Last Transition Time: 2026-08-10T20:13:39Z Observed Generation: 2 Reason: AnthosBareMetalVersion Status: True Type: 1.36.0-gke.527 Last Transition Time: 2026-08-10T20:13:39Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Connect Dependent System Service Conditions: Last Transition Time: 2026-08-10T15:56:32Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Hub Registration Status: Membership: Description: description Name: name Gke Versions: v1.36.0-gke.2800: 3 Kernel Version Conditions: Last Transition Time: 2026-08-10T15:39:23Z Reason: kernelVersionCheckPassed Status: True Type: kernelVersionCheckSuccessful System Service Conditions: Last Transition Time: 2026-08-10T20:12:26Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconcilingבסיום השדרוג, ב-
gkectl list adminמוצגSTATEשלRUNNING:NAME STATE AGE VERSION gke-admin-test RUNNING 9h 1.36.100-gke.144בנוסף, כשהשדרוג מסתיים, בשדה
gkectl describe adminמופיע השדהLast GKE On Prem VersionבקטעStatus. לדוגמה:Status: Cluster State: RUNNING Last GKE On Prem Version: 1.36.0-gke.1
פתרון בעיות בשדרוג אסינכרוני
בשדרוג אסינכרוני, משך הזמן הקצוב לתפוגה מבוסס על מספר הצמתים באשכול. אם השדרוג נמשך יותר זמן ממשך הזמן הקצוב לתפוגה, מצב האשכול משתנה מ-UPGRADING ל-ERROR, עם אירוע שמציין שזמן הקצוב לתפוגה של פעולת השדרוג הסתיים. שימו לב שהמצב ERROR כאן מציין שהשדרוג נמשך יותר זמן מהצפוי, אבל לא הופסק. הבקר ממשיך בהתאמה ומנסה שוב לבצע את הפעולה.
אם השדרוג נחסם או נכשל, אתם יכולים להריץ את הפקודה gkectl diagnose כדי לבדוק אם יש בעיות נפוצות באשכול. על סמך התוצאה, תוכלו להחליט אם לבצע תיקון ידני או לפנות אל Google Cloud התמיכה כדי לקבל עזרה נוספת.
שדרוג סינכרוני
בתחנת העבודה של האדמין, מאבחנים את האשכול לפני השדרוג:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
אם הפקודה מדווחת על שגיאות או אזהרות, עיינו בקטע אבחון בעיות באשכול ופתרו אותן לפני שתמשיכו.
משדרגים את אשכול האדמין:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
ADMIN_CLUSTER_CONFIG_FILE: הנתיב לקובץ התצורה של אשכול האדמין.
הפקודה
gkectl upgradeמריצה בדיקות מקדימות. אם הבדיקות המקדימות נכשלות, הפקודה נחסמת. כדי לבטל את החסימה, צריך לתקן את הכשלים או להשתמש בדגל--skip-preflight-check-blockingעם הפקודה.אם אתם משדרגים לגרסה 1.14.0 ואילך, נוצר קובץ kubeconfig חדש לאשכול האדמין שמחליף את הקובץ הקיים. כדי להציג את פרטי האשכול בקובץ, מריצים את הפקודה הבאה:
kubectl config view --kubeconfig ADMIN_CLUSTER_KUBECONFIG
CLI של gcloud
שדרוג אשכול האדמין באמצעות ה-CLI של gcloud.
מעדכנים את גרסת הפלטפורמה לגרסת היעד:
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --location=REGION \ --required-platform-version=VERSION \ --asyncמחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_CLUSTER_NAME: השם של אשכול האדמין. -
REGION: האזור ב- Google Cloud שבו מנוהל אשכול האדמין. -
VERSION: גרסת היעד שאליה משדרגים.
הפקודה הזו מחזירה מזהה פעולה. אפשר לעקוב אחרי ההתקדמות באמצעות
gcloud container vmware operations describe.-
אחרי שמעדכנים את גרסת הפלטפורמה, מעדכנים את גרסת אשכול האדמין:
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --location=REGION \ --version=VERSION \ --asyncבשלב הזה מסתיים השדרוג של אשכול האדמין לגרסת היעד.
שדרוג אשכול משתמש
כדי לשדרג אשכול משתמש, אתם יכולים להשתמש ב-gkectl, במסוף, ב-CLI של gcloud או ב-Terraform. כדי להחליט באיזה כלי להשתמש, קראו את המאמר בחירת כלי לשדרוג אשכולות.
המסוף
כדי לשדרג אשכול משתמשים, צריך לבצע כמה שינויים באשכול האדמין. המסוף מבצע באופן אוטומטי את הפעולות הבאות:
רושם את אשכול האדמין ב-GKE On-Prem API אם הוא עדיין לא רשום.
הורדה ופריסה של חבילת רכיבים באשכול האדמין. גרסת הרכיבים תואמת לגרסה שציינתם לשדרוג. הרכיבים האלה מאפשרים לאשכול האדמין לנהל אשכולות של משתמשים בגרסה הזו.
כדי לשדרג אשכול משתמש:
נכנסים לדף Google Kubernetes Engine clusters overview במסוף.
בוחרים את הפרויקט Google Cloud ואז בוחרים את האשכול שרוצים לשדרג.
בחלונית פרטים, לוחצים על פרטים נוספים.
בקטע Cluster basics, לוחצים על Upgrade.
ברשימה Choose target version, בוחרים את הגרסה שאליה רוצים לשדרג. הרשימה שנבחרה מכילה רק את גרסאות התיקונים האחרונות.
לוחצים על שדרוג.
לפני שמשדרגים את האשכול, מתבצעות בדיקות מקדימות כדי לאמת את סטטוס האשכול ואת תקינות הצומת. אם הבדיקות המקדימות עוברות בהצלחה, אשכול המשתמש משודרג. השדרוג נמשך כ-30 דקות.
כדי לראות את סטטוס השדרוג, לוחצים על Show Details בכרטיסייה Cluster Details.
CLI של gcloud
כדי לשדרג אשכול משתמשים, צריך לבצע כמה שינויים באשכול האדמין. הפקודה gcloud container vmware clusters upgrade מבצעת באופן אוטומטי את הפעולות הבאות:
רושם את אשכול האדמין ב-GKE On-Prem API אם הוא עדיין לא רשום.
הורדה ופריסה של חבילת רכיבים באשכול האדמין. גרסת הרכיבים תואמת לגרסה שציינתם לשדרוג. הרכיבים האלה מאפשרים לאשכול האדמין לנהל אשכולות של משתמשים בגרסה הזו.
כדי לשדרג אשכול משתמש:
מעדכנים את הרכיבים של Google Cloud CLI:
gcloud components updateמציגים רשימה של הגרסאות שאפשר לשדרג אליהן:
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
הפלט של הפקודה אמור להיראות כך:
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSIONאפשר להתעלם מההודעה שמופיעה אחרי רשימת הגרסאות. לא משנה אם הגרסה שאליה אתם משדרגים מותקנת באשכול האדמין. הפקודה
upgradeמורידה ופורסת חבילה של רכיבים שתואמת לגרסה שציינתם בפקודהupgrade.משדרגים את האשכול.
gcloud container vmware clusters upgrade USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
מחליפים את VERSION בגרסה של Google Distributed Cloud שרוצים לשדרג אליה. מציינים גרסה מהפלט של הפקודה הקודמת. מומלץ לשדרג לגרסה האחרונה עם התיקון.
הפלט של הפקודה אמור להיראות כך:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
בפלט לדוגמה, המחרוזת
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179היא ה-OPERATION_ID של הפעולה שרצה לאורך זמן. כדי לבדוק את סטטוס הפעולה, מריצים את הפקודה הבאה בחלון טרמינל אחר:gcloud container vmware operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
gkectl
הכנה לשדרוג של אשכול משתמשים
מבצעים את השלבים הבאים בתחנת העבודה של האדמין:
לפני שמתחילים את ניסיון השדרוג הראשוני, צריך לבדוק אם אשכול המשתמש תקין. אבחון בעיות באשכול מריצים את
gkectl diagnose clusterבאשכול המשתמש ופותרים את הבעיות.צריך לבצע את השלב הזה רק אם הגרסה של
TARGET_VERSIONהיא 1.30 או גרסה קודמת, או אם משדרגים את אשכול המשתמש לגרסה שונה מאשכול האדמין. מריצים את הפקודהgkectl prepareכדי לייבא קובצי אימג' של מערכת ההפעלה אל vSphere:gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
אם באשכול יש מאגר צמתים של Windows, מריצים את הפקודה
gkectl prepare windowsומעדכנים את השדהosImageשל מאגר הצמתים. הוראות מפורטות מופיעות במאמר שדרוג אשכולות משתמשים עם מאגרי Windows Node.בקובץ התצורה של אשכול המשתמש, מגדירים את
gkeOnPremVersionלגרסת היעד של השדרוג.
הרצת בדיקות לפני ההפעלה
כשמשדרגים לגרסה 1.29 ואילך, אפשר להריץ את הבדיקות המקדימות לפני שמשדרגים אשכול משתמש:
gkectl upgrade cluster \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--config USER_CLUSTER_CONFIG \
--dry-run
מחליפים את USER_CLUSTER_CONFIG בנתיב לקובץ התצורה של אשכול המשתמש.
עם הדגל --dry-run, הפקודה gkectl upgrade cluster מריצה את הבדיקות המקדימות אבל לא מתחילה את תהליך השדרוג. בגרסאות קודמות של Google Distributed Cloud פועלות בדיקות מקדימות, אבל אי אפשר להריץ אותן בנפרד מהשדרוג. הוספת הדגל --dry-run מאפשרת למצוא ולתקן את כל הבעיות שמתגלות בבדיקות המקדימות באשכול המשתמש לפני השדרוג.
מריצים את gkectl upgrade cluster
יש שתי וריאציות של הפקודה gkectl upgrade cluster:
אסינכרוני: (מומלץ)
בגרסה האסינכרונית, הפקודה מתחילה את השדרוג ואז מסתיימת. לא צריך לצפות בפלט של הפקודה לאורך כל השדרוג. במקום זאת, אתם יכולים לבדוק מדי פעם את התקדמות השדרוג על ידי הפעלתgkectl list clustersו-gkectl describe clusters. כדי להשתמש בווריאציה האסינכרונית, צריך לכלול את הדגל--asyncבפקודה.- גרסה 1.31: לא זמינה באשכולות מתקדמים.
- גרסה 1.32 ואילך: זמינה באשכולות מתקדמים.
סינכרוני:
בגרסה הסינכרונית, הפקודהgkectl upgrade clusterמפיקה הודעות סטטוס לתחנת העבודה של האדמין בזמן שהשדרוג מתבצע.
שדרוג אסינכרוני
אם אתם משדרגים לגרסה חדשה יותר מ-1.16, אתם יכולים לדלג על השלב הזה.
אם אתם משתמשים בפרטי כניסה מוכנים ובמרשם פרטי לאשכול המשתמש, ודאו שפרטי הכניסה למרשם הפרטי מוכנים לפני שאתם משדרגים את אשכול המשתמש. במאמר הגדרת פרטי כניסה מוכנים לאשכולות משתמשים מוסבר איך להכין את פרטי הכניסה לרישום הפרטי.
מבצעים אבחון של האשכול כדי לוודא שהוא תקין:
gkectl diagnose cluster \ --kubeconfig <var>ADMIN_CLUSTER_KUBECONFIG</var>אם הפקודה מדווחת על שגיאות או אזהרות, עיינו בקטע אבחון בעיות באשכול ופתרו אותן לפני שתמשיכו.
בתחנת העבודה של האדמין, מתחילים שדרוג אסינכרוני:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG \ --async
הפקודה הקודמת מסתיימת, ואתם יכולים להמשיך להשתמש בתחנת העבודה של האדמין בזמן שהשדרוג מתבצע.
כדי לראות את סטטוס השדרוג:
gkectl list clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG
הפלט מציג ערך לאשכול
STATE. אם האשכול עדיין משתדרג, הערך שלSTATEהואUPGRADING. לדוגמה:NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc False UPGRADING 9h 1.36.0-gke.1
הערכים האפשריים של
STATEהםUPGRADING,DELETING,UPDATING,RUNNING,RECONCILING,ERRORו-UNKNOWN.כדי לקבל פרטים נוספים על התקדמות השדרוג ועל אירועים באשכול:
gkectl describe clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster USER_CLUSTER_NAME -v 5
הפלט מציג את המשאב המותאם אישית OnPremUserCluster לאשכול המשתמש שצוין, שכולל את הסטטוס, התנאים והאירועים של האשכול.
לצפייה בפלט לדוגמה
Status: Cluster State: RUNNING Conditions: Last Transition Time: 2026-08-10T21:29:07Z Message: Cluster is running Observed Generation: 2 Reason: ClusterRunning Status: True Type: Ready Last Transition Time: 2026-08-10T21:12:05Z Message: Operator NodePool is ready Observed Generation: 2 Reason: OperatorNodePoolReady Status: True Type: ControlPlaneReady Last Transition Time: 2026-08-10T16:25:08Z Message: Component provisioner job is completed Observed Generation: 2 Reason: ComponentProvisionerJobCompleted Status: True Type: ComponentProvisionerUserProfileInstalled Last Transition Time: 2026-08-10T21:29:07Z Message: Node pools are running Observed Generation: 2 Reason: NodePoolsRunning Status: True Type: NodePoolsReady Last Transition Time: 2026-08-10T21:29:56Z Message: Observed Generation: 2 Reason: Reconciling Status: False Type: OperatorClusterKubeProxyCleanedUp Last Transition Time: 2026-08-10T16:27:48Z Message: Observed Generation: 2 Reason: PreflightCheckPassed Status: True Type: OperatorClusterPreflightCheckSuccessful Last Transition Time: 2026-08-10T16:27:48Z Message: Observed Generation: 2 Reason: ProvisioningStarted Status: True Type: OperatorClusterProvisioningStarted Last Transition Time: 2026-08-10T16:27:48Z Message: Observed Generation: 2 Reason: RemoteTrackerSetupComplete Status: True Type: OperatorClusterRemoteTrackerSetupSuccessful Last Transition Time: 2026-08-10T16:27:48Z Message: Observed Generation: 2 Reason: Reconciling Status: False Type: OperatorClusterStalled Last Transition Time: 2026-08-10T16:27:48Z Message: Observed Generation: 2 Reason: NotPresent Status: False Type: OperatorClusterWaitingOnPendingClusterID Last Transition Time: 2026-08-10T18:23:16Z Message: Operator Cluster is ready Observed Generation: 2 Reason: OperatorClusterReady Status: True Type: OperatorClusterReady Gke On Prem Version: 1.36.0-gke.527 Last Gke On Prem Version: 1.35.300-gke.87 Operator Cluster Status: Control Plane Node Pool Status: Anthos Bare Metal Version: 1.36.0-gke.527 Anthos Bare Metal Versions: 1.36.0-gke.527: 3 Conditions: Last Transition Time: 2026-08-10T21:07:22Z Observed Generation: 11 Reason: PreflightCheckPassed Status: True Type: PreflightCheckSuccessful Last Transition Time: 2026-08-10T21:12:05Z Observed Generation: 11 Reason: NodepoolReady Status: True Type: Ready Last Transition Time: 2026-08-10T21:11:24Z Observed Generation: 11 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Versions: v1.36.0-gke.2800: 3 Last Reconciliation Time: 2026-08-10T21:28:02Z Maintenance Nodes: 0 Managed Fields: Label Keys: node.kubernetes.io/control-plane node.kubernetes.io/master Node Label Keys: vsphere://abcdef-1: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name vsphere://abcdef-2: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name vsphere://abcdef-3: onprem.gke.io/failure-domain-name vmware.cluster.gke.io/machine-name Ready Nodes: 3 Ready Timestamp: 2026-08-10T16:24:02Z Reconciling Nodes: 0 Stalled Nodes: 0 Unknown Nodes: 0 Data Plane Load Balancer Status: Conditions: Last Transition Time: 2026-08-10T16:08:47Z Observed Generation: 1 Reason: ReconciliationCompleted Status: False Type: Reconciling Node Pool Location: load-balancer-nodepool External Manifests Conditions: Last Transition Time: 2026-08-10T16:12:25Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Connect Conditions: Last Transition Time: 2026-08-10T21:11:33Z Observed Generation: 2 Reason: AnthosBareMetalVersion Status: True Type: 1.36.0-gke.527 Last Transition Time: 2026-08-10T21:11:33Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Connect Dependent System Service Conditions: Last Transition Time: 2026-08-10T16:25:26Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Gke Hub Registration Status: Membership: Description: description Name: name Gke Versions: v1.36.0-gke.2800: 6 Kernel Version Conditions: Last Transition Time: 2026-08-10T16:08:53Z Reason: kernelVersionCheckPassed Status: True Type: kernelVersionCheckSuccessful System Service Conditions: Last Transition Time: 2026-08-10T21:04:39Z Observed Generation: 2 Reason: ReconciliationCompleted Status: False Type: Reconciling Events: Type Reason Age From Message
Normal StatusChanged 58m onprem-user-cluster-controller OnPremUserCluster status changed:
- New ClusterState condition: UPGRADING Normal ControlPlaneUpgradeStarted 58m onprem-user-cluster-controller Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:43:53 +0000 UTC Normal StatusChanged 58m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:43:53 +0000 UTC Normal ControlPlaneUpgradeStarted 58m onprem-user-cluster-controller Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:43:54 +0000 UTC Normal StatusChanged 58m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:43:54 +0000 UTC Normal ControlPlaneUpgradeStarted 58m onprem-user-cluster-controller Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:44:38 +0000 UTC Normal StatusChanged 58m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:44:38 +0000 UTC Normal StatusChanged 56m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:46:33 +0000 UTC Normal StatusChanged 54m (x2 over 56m) onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePoolClaim is currently in the progress of rolling update: Condition "NodeRecreationUpdateInProgress" ready, reason: "NodeRecreationUpdateInProgress", message: "Cannot further mark old InventoryMachines for recreation due to MinReadyNodesRequired requirement. Current process: There are still old InventoryMachines: [my-uc-cp-99cc4wxzvx8ww829-2 my-uc-cp-99cc4wxzvx8ww829-1]; New ready count (0) does not match desired count (3)" Normal StatusChanged 53m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" generation 7 hasn't been observed Normal StatusChanged 53m onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateOperatorNodePool, Creating or updating operator NodePool: NodePool is not ready: Condition "Ready" status "False" is not "True", reason: "Reconciling", message: "", lastTransitionTime: 2026-08-10 20:48:58 +0000 UTC Normal StatusChanged 30m (x3 over 58m) onprem-user-cluster-controller OnPremUserCluster status changed:
- New Ready condition: True, ClusterRunning, Cluster is running Normal ControlPlaneUpgradeFinished 30m (x3 over 58m) onprem-user-cluster-controller Operator NodePool is ready Normal StatusChanged 29m (x9 over 47m) onprem-user-cluster-controller (combined from similar events): OnPremUserCluster status changed:
- New Ready condition: False, CreateOrUpdateNodePools, Creating or updating node pools, unready node pools: [my-uc-gke-onprem-mgmt/my-uc], in deletion node pools: [] Normal NodePoolsUpgradeStarted 29m onprem-user-cluster-controller Creating or updating node pools, unready node pools: [my-uc-gke-onprem-mgmt/my-uc], in deletion node pools: [] Normal StatusChanged 13m onprem-user-cluster-controller OnPremUserCluster status changed:
- New GKEOnPremVersion: "1.36.0-gke.527"
- New ClusterState condition: RUNNING
- New Ready condition: True, ClusterRunning, Cluster is running
בסיום השדרוג, ב-
gkectl list clustersמוצגSTATEשלRUNNING:NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc True RUNNING 9h 1.36.0-gke.1
בנוסף, כשהשדרוג מסתיים, בשדה
gkectl describe clustersמופיע השדהLast GKE On Prem VersionבקטעStatus. לדוגמה:Status: Cluster State: RUNNING Last GKE On Prem Version: 1.36.0-gke.1
פתרון בעיות בשדרוג אסינכרוני
בשדרוג אסינכרוני, משך הזמן הקצוב לתפוגה מבוסס על מספר הצמתים באשכול. אם השדרוג נמשך יותר זמן ממשך הזמן הקצוב, מצב האשכול משתנה מ-UPGRADING ל-ERROR, עם אירוע שמציין שזמן הקצוב של פעולת השדרוג פג. שימו לב שהמצב ERROR כאן מציין שהשדרוג נמשך יותר זמן מהצפוי, אבל לא הופסק. הבקר ממשיך בהתאמה ומנסה שוב לבצע את הפעולה.
בדרך כלל, זמן קצוב לתפוגה הוא תוצאה של מבוי סתום שנגרם על ידי PodDisruptionBudget (PDB). במקרה כזה, אי אפשר לפנות Pods מצמתים ישנים, ואי אפשר לרוקן את הצמתים הישנים. אם פינוי ה-Pod נמשך יותר מ-10 דקות, אנחנו כותבים אירוע לאובייקט OnPremUserCluster. כדי לתעד את האירוע, מריצים את הפקודה gkectl describe clusters. אחר כך אפשר לשנות את ה-PDB כדי לאפשר את ניקוז הצומת. אחרי שהשדרוג יסתיים, אפשר יהיה להמשיך בתהליך.
אירוע לדוגמה:
Warning PodEvictionTooLong 96s (x2 over 4m7s) onprem-user-cluster-controller Waiting too long(>10m0.00000003s) for (kube-system/coredns-856d6dbfdf-dl6nz) eviction.
בנוסף, אם השדרוג נחסם או נכשל, אתם יכולים להריץ את gkectl diagnose כדי לבדוק אם יש בעיות נפוצות באשכול. לפי התוצאה, תוכלו להחליט אם לתקן את הבעיה באופן ידני או לפנות אל Google Cloud התמיכה כדי לקבל עזרה נוספת.
שדרוג סינכרוני
הפקודה gkectl upgrade מריצה בדיקות מקדימות. אם הבדיקות המקדימות נכשלות, הפקודה נחסמת. צריך לתקן את הכשלים או להשתמש בדגל --skip-preflight-check-blocking. כדאי לדלג על הבדיקות המקדימות רק אם אתם בטוחים שאין כשלים קריטיים.
מבצעים את השלבים הבאים בתחנת העבודה של האדמין:
אם אתם משדרגים לגרסה חדשה יותר מ-1.16, אתם יכולים לדלג על השלב הזה.
אם אתם משתמשים בפרטי כניסה מוכנים ובמרשם פרטי לאשכול המשתמש, ודאו שפרטי הכניסה למרשם הפרטי מוכנים לפני שאתם משדרגים את אשכול המשתמש. במאמר הגדרת פרטי כניסה מוכנים לאשכולות משתמשים מוסבר איך להכין את פרטי הכניסה לרישום הפרטי.
מבצעים אבחון של האשכול כדי לוודא שהוא תקין:
gkectl diagnose cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
אם הפקודה מדווחת על שגיאות או אזהרות, עיינו בקטע אבחון בעיות באשכול ופתרו אותן לפני שתמשיכו.
משדרגים את האשכול:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
אם משדרגים לגרסה 1.14.0 ואילך, נוצר קובץ kubeconfig חדש לאשכול המשתמש שמחליף את הקובץ הקיים. כדי להציג את פרטי האשכול בקובץ, מריצים את הפקודה הבאה:
kubectl config view --kubeconfig USER_CLUSTER_KUBECONFIG
המשך השדרוג
אם השדרוג של אשכול המשתמש נקטע, אפשר להמשיך אותו על ידי הפעלת אותה פקודת שדרוג עם הדגל --skip-validation-all:
gkectl upgrade cluster \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--config USER_CLUSTER_CONFIG \
--skip-validation-all
Terraform
מעדכנים את הרכיבים של Google Cloud CLI:
gcloud components updateאם עדיין לא עשיתם זאת, רושמים את אשכול האדמין ב-GKE On-Prem API. אחרי שהאשכול רשום ב-GKE On-Prem API, לא צריך לחזור על השלב הזה.
מציגים רשימה של הגרסאות שאפשר לשדרג אליהן:
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
מחליפים את מה שכתוב בשדות הבאים:
USER_CLUSTER_NAME: השם של אשכול המשתמש.
PROJECT_ID: המזהה של פרויקט ה-Fleet שאשכול המשתמש הזה שייך אליו. זה הפרויקט שציינתם כשהאשכול נוצר. אם יצרתם את האשכול באמצעותgkectl, זהו מזהה הפרויקט בשדהgkeConnect.projectIDבקובץ התצורה של האשכול.
REGION: האזור Google Cloud שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים שלו. בקובץmain.tfשבו השתמשתם כדי ליצור את אשכול המשתמשים, האזור נמצא בשדהlocationשל משאב האשכול.
הפלט של הפקודה אמור להיראות כך:
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSIONמורידים את הגרסה החדשה של הרכיבים ופורסים אותם באשכול האדמין:
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --required-platform-version=VERSION
הפקודה הזו מורידה את גרסת הרכיבים שציינתם ב-
--required-platform-versionלאשכול האדמין, ואז פורסת את הרכיבים. הרכיבים האלה מאפשרים לאשכול האדמין לנהל אשכולות של משתמשים בגרסה הזו.בקובץ
main.tfשבו השתמשתם כדי ליצור את אשכול המשתמשים, משנים אתon_prem_versionבמשאב האשכול לגרסה החדשה.מאתחלים ויוצרים את התוכנית ב-Terraform:
terraform initTerraform מתקין את כל הספריות הנדרשות, כמו הספק Google Cloud.
בודקים את ההגדרות ומשנים אותן לפי הצורך:
terraform planמפעילים את התוכנית של Terraform כדי ליצור את אשכול המשתמש:
terraform apply
הסרת החבילה המלאה
אם הורדתם חבילה מלאה והפעלתם בהצלחה את gkectl prepare ושדרגתם את אשכול האדמין ואת כל אשכולות המשתמשים, כדאי למחוק את החבילה המלאה כדי לחסוך מקום בכונן בתחנת העבודה של האדמין. מריצים את הפקודה הבאה כדי למחוק את החבילה המלאה:
rm /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION-full.tgz
המשך השדרוג של אשכול אדמין
אם השדרוג של אשכול האדמין נקטע או נכשל, אפשר להמשיך אותו אם נקודת הבדיקה של אשכול האדמין מכילה את המצב שנדרש כדי לשחזר את המצב שלפני הקטיעה.
אזהרה: אל תתקנו את מישור הבקרה של האדמין באמצעות gkectl repair admin-master אחרי ניסיון שדרוג שנכשל. פעולה כזו תגרום לאשכול האדמין להיכנס למצב לא תקין.
איך לעשות את זה?
לפני שמתחילים את ניסיון השדרוג הראשוני, צריך לבדוק אם מישור הבקרה של האדמין תקין. אבחון בעיות באשכול כמו שמוסבר בנושא הזה, מריצים את הפקודה
gkectl diagnose clusterלאשכול האדמין.אם מישור הבקרה של האדמין לא תקין לפני הניסיון הראשון לשדרוג, מתקנים את מישור הבקרה של האדמין באמצעות הפקודה
gkectl repair admin-master.כשמריצים מחדש את פקודת השדרוג אחרי שהשדרוג הופסק או נכשל, צריך להשתמש באותה חבילה ובאותה גרסת יעד כמו בניסיון השדרוג הקודם.
כשמריצים מחדש את פקודת השדרוג, השדרוג שחודש יוצר מחדש את מצב אשכול האדמין מנקודת הבדיקה ומריץ מחדש את כל השדרוג. החל מגרסה 1.12.0, אם מישור הבקרה של האדמין לא תקין, תהליך השדרוג ישדרג ישירות לגרסת היעד בלי לנסות לשחזר את אשכול האדמין בגרסת המקור לפני המשך השדרוג.
אם נקודת הבדיקה של אשכול האדמין זמינה, השדרוג ימשיך מהנקודה שבה הוא נכשל או הופסק. אם נקודת הבדיקה לא זמינה, השדרוג יחזור להסתמך על מישור הבקרה של האדמין, ולכן מישור הבקרה של האדמין חייב להיות תקין כדי להמשיך בשדרוג. אחרי שדרוג מוצלח, נקודת הבדיקה נוצרת מחדש.
אם gkectl נסגר באופן לא צפוי במהלך שדרוג של אשכול אדמין, אשכול ה-kind לא מנוקה. לפני שמריצים מחדש את פקודת השדרוג כדי להמשיך את השדרוג, מוחקים את אשכול ה-kind:
docker stop gkectl-control-plane && docker rm gkectl-control-plane
אחרי שמוחקים את אשכול ה-kind, מריצים שוב את פקודת השדרוג.
חזרה לגרסה קודמת של תחנת עבודה של אדמין אחרי שדרוג
אתם יכולים להחזיר את תחנת הניהול לגרסה שבה השתמשתם לפני השדרוג.
במהלך השדרוג, gkeadm מתעד את הגרסה לפני השדרוג בקובץ המידע של הפלט. במהלך החזרה לגרסה קודמת, gkeadm משתמש בגרסה שמופיעה ברשימה כדי להוריד את הקובץ הישן יותר.
כדי להחזיר את תחנת הניהול לגרסה הקודמת:
gkeadm rollback admin-workstation --config=AW_CONFIG_FILE
אפשר להשמיט את --config=AW_CONFIG_FILE אם קובץ התצורה של תחנת העבודה של האדמין הוא ברירת המחדל admin-ws-config.yaml. אחרת, מחליפים את AW_CONFIG_FILE בנתיב לקובץ התצורה של תחנת העבודה של האדמין.
הפקודה להחזרה לגרסה קודמת מבצעת את השלבים הבאים:
- הורדה של הגרסה הקודמת של
gkeadm. - מגבה את ספריית הבית של תחנת העבודה הנוכחית של האדמין.
- יוצרת תחנת עבודה חדשה של אדמין באמצעות גרסת החזרה לאחור של
gkeadm. - מוחקת את תחנת העבודה המקורית של האדמין.
התקנת חבילה עם גרסה אחרת לשדרוג
אם משדרגים את תחנת העבודה, מותקנת בה חבילה עם גרסה תואמת לשדרוג האשכולות. אם רוצים גרסה אחרת, צריך לפעול לפי השלבים הבאים כדי להתקין חבילה של TARGET_VERSION, שהיא הגרסה שאליה רוצים לשדרג.
כדי לבדוק את הגרסאות הנוכחיות של
gkectlושל האשכול, מריצים את הפקודה הזו. כדי לקבל מידע מפורט יותר, משתמשים בדגל--details/-d.gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
הפלט מספק מידע על גרסאות האשכול.
בהתאם לפלט שמתקבל, מחפשים את הבעיות הבאות ומתקנים אותן לפי הצורך.
אם הגרסה הנוכחית של אשכול האדמין נמוכה ביותר מגרסה משנית אחת מ-TARGET_VERSION, צריך לשדרג את כל האשכולות כך שיהיו נמוכים בגרסה משנית אחת מ-TARGET_VERSION.
אם גרסת
gkectlנמוכה מ-1.11, ואתם רוצים לשדרג ל-1.12.x, תצטרכו לבצע כמה שדרוגים. משדרגים גרסה משנית אחת בכל פעם, עד שמגיעים ל-1.11.x, ואז ממשיכים לפי ההוראות בנושא הזה.אם הגרסה של
gkectlנמוכה מ-TARGET_VERSION, שדרגו את תחנת הניהול ל-TARGET_VERSION.
אחרי שמוודאים שגרסאות ה-
gkectlוהאשכול מתאימות לשדרוג, מורידים את החבילה.בודקים אם קובץ ה-tarball של החבילה כבר קיים בתחנת עבודה של האדמין.
stat /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz
אם החבילה לא נמצאת בתחנת העבודה של האדמין, צריך להוריד אותה.
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/TARGET_VERSION/gke-onprem-vsphere-TARGET_VERSION.tgz /var/lib/gke/bundles/
מתקינים את החבילה.
gkectl prepare --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz --kubeconfig ADMIN_CLUSTER_KUBECONFIG
מחליפים את ADMIN_CLUSTER_KUBECONFIG בנתיב של קובץ ה-kubeconfig. אפשר להשמיט את הדגל הזה אם הקובץ נמצא בספרייה הנוכחית והשם שלו הוא
kubeconfig.מציגים את רשימת הגרסאות הזמינות של האשכולות ומוודאים שגרסת היעד נכללת בגרסאות הזמינות של אשכולות המשתמשים.
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
עכשיו אפשר ליצור אשכול משתמשים בגרסת היעד, או לשדרג אשכול משתמשים לגרסת היעד.
פתרון בעיות בתהליך השדרוג
אם נתקלתם בבעיה בתהליך השדרוג המומלץ, אתם יכולים לפעול לפי ההמלצות הבאות כדי לפתור אותה. ההצעות האלה מבוססות על ההנחה שהתחלתם עם הגדרה של גרסה 1.11.x, ואתם ממשיכים בתהליך השדרוג המומלץ.
פתרון בעיות ביצירה ובשדרוג של אשכולות
פתרון בעיות בשדרוג של אשכול משתמשים
נניח שאתם משדרגים אשכול משתמש ומוצאים בעיה בגרסת השדרוג. אתם מבררים עם התמיכה של Google ומגלים שהבעיה תתוקן בגרסת התיקון הבאה. כדי לעשות את זה:
- להמשיך להשתמש בגרסה הנוכחית בסביבת הייצור.
- כשהתיקון ישוחרר, בדקו אותו באשכול שלא מיועד לסביבת הייצור.
- כשאתם בטוחים שהכול תקין, שדרגו את כל אשכולות המשתמשים בסביבת הייצור לגרסת התיקון.
- משדרגים את אשכול האדמין לגרסת הפצה של התיקון.
פתרון בעיות בשדרוג של אשכול אדמין
אם נתקלתם בבעיה בשדרוג של אשכול האדמין, אתם צריכים לפנות לתמיכה של Google כדי לפתור את הבעיה באשכול האדמין.
בינתיים, בתהליך השדרוג החדש, אתם עדיין יכולים ליהנות מתכונות חדשות של אשכולות משתמשים בלי להיחסם על ידי שדרוג אשכול האדמין. כך אתם יכולים להפחית את תדירות השדרוג של אשכול האדמין אם אתם רוצים. תהליך השדרוג יכול להתבצע באופן הבא:
- שדרוג אשכולות של משתמשים בסביבת הייצור לגרסה 1.12.x.
- להשאיר את אשכול האדמין בגרסה הקודמת ולהמשיך לקבל תיקוני אבטחה.
- בדיקת השדרוג של אשכול האדמין מגרסה 1.11.x לגרסה 1.12.x בסביבת בדיקה, ודיווח על בעיות אם יש כאלה.
- אם הבעיה נפתרה על ידי גרסת תיקון 1.12.x, תוכלו לשדרג את אשכול האדמין בסביבת הייצור לגרסת התיקון הזו.
בעיות מוכרות בגרסאות האחרונות
הבעיות הידועות הבאות עשויות להשפיע על השדרוגים אם אתם משדרגים מגרסה 1.7 ואילך.
מידע נוסף: בעיות מוכרות
יכול להיות שהשדרוג של תחנת העבודה של האדמין ייכשל אם דיסק הנתונים כמעט מלא
אם משדרגים את תחנת הניהול באמצעות הפקודה gkectl upgrade admin-workstation, יכול להיות שהשדרוג ייכשל אם דיסק הנתונים כמעט מלא, כי המערכת מנסה לגבות את תחנת הניהול הנוכחית באופן מקומי בזמן השדרוג לתחנת ניהול חדשה. אם אתם לא מצליחים לפנות מספיק מקום בדיסק הנתונים, השתמשו בפקודה gkectl upgrade admin-workstation עם הדגל הנוסף --backup-to-local=false כדי למנוע יצירת גיבוי מקומי של תחנת הניהול הנוכחית.
שיבוש בעומסי עבודה עם PodDisruptionBudgets
שדרוג אשכולות עלול לגרום לשיבושים או להשבתה של עומסי עבודה שמשתמשים ב-PodDisruptionBudgets (PDBs).
הצמתים לא מצליחים להשלים את תהליך השדרוג
אם הגדרתם PodDisruptionBudget אובייקטים שלא יכולים לאפשר שיבושים נוספים, יכול להיות שהצמתים לא ישודרגו לגרסת מישור הבקרה אחרי ניסיונות חוזרים. כדי למנוע את הכשל הזה, מומלץ להגדיל את Deployment או את HorizontalPodAutoscaler כדי לאפשר לצומת להתרוקן תוך שמירה על ההגדרה של PodDisruptionBudget.
מציגים את כל האובייקטים מסוג PodDisruptionBudget באשכול המשתמש שלא מאפשרים שיבושים:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \
get poddisruptionbudget --all-namespaces \
-o jsonpath='{range .items[?(@.status.disruptionsAllowed==0)]}{.metadata.namespace}/{.metadata.name}{"\n"}{end}'
מחליפים את USER_CLUSTER_KUBECONFIG בנתיב של קובץ ה-kubeconfig של אשכול המשתמש.
כברירת מחדל, ה-PDB של kube-system/log-aggregator ו-kube-system/prometheus מופיעים בפלט עם disruptionsAllowed: 0 כשאין להם פודים תואמים ו-status.expectedPods הוא 0. אפשר להתעלם מה-PDB האלה כי הם לא חוסמים את ניקוז הצומת.
מידע נוסף על השדרוג
מידע על כללי VMware DRS שמופעלים בגרסה 1.1.0-gke.6
החל מגרסה 1.1.0-gke.6, Google Distributed Cloud יוצר באופן אוטומטי כללי אנטי-אפיניות של VMware Distributed Resource Scheduler (DRS) לצומתי אשכול המשתמשים, כך שהם יתפרסו על פני לפחות שלושה מארחים פיזיים במרכז הנתונים. החל מגרסה 1.1.0-gke.6, התכונה הזו מופעלת באופן אוטומטי באשכולות חדשים ובאשכולות קיימים.
לפני השדרוג, ודאו שסביבת vSphere עומדת בתנאים הבאים:
VMware DRS מופעל. כדי להשתמש ב-VMware DRS, צריך רישיון ל-vSphere Enterprise Plus. במאמר הפעלת VMware DRS באשכול מוסבר איך להפעיל את DRS.
שם המשתמש ב-vSphere שצוין בקובץ התצורה של פרטי הכניסה כולל את ההרשאה
Host.Inventory.EditCluster.יש לפחות שלושה מארחים פיזיים זמינים.
אם סביבת vSphere לא עומדת בתנאים שלמעלה, עדיין אפשר לשדרג, אבל כדי לשדרג אשכול משתמש מגרסה 1.3.x לגרסה 1.4.x, צריך להשבית את קבוצות האנטי-אפיניות. מידע נוסף זמין בקטע בעיות מוכרות בנתוני הגרסה של Google Distributed Cloud.
מידע על זמן השבתה במהלך שדרוגים
| משאב | תיאור |
|---|---|
| אשכול אדמין | כשאשכול אדמין מושבת, מישורי הבקרה של אשכולות המשתמשים ועומסי העבודה באשכולות המשתמשים ממשיכים לפעול, אלא אם הם הושפעו מהתקלה שגרמה להשבתה. |
| מישור הבקרה של אשכול המשתמשים | בדרך כלל, לא אמור להיות זמן השבתה משמעותי במישורי הבקרה של אשכולות המשתמשים. עם זאת, יכול להיות שחיבורים לטווח ארוך לשרת ה-API של Kubernetes יתנתקו ויהיה צורך ליצור אותם מחדש. במקרים כאלה, הגורם שמבצע את הקריאה ל-API צריך לנסות שוב עד שנוצר חיבור. במקרה הגרוע ביותר, יכול להיות זמן השבתה של עד דקה במהלך השדרוג. |
| צמתים של אשכולות משתמשים | אם השדרוג דורש שינוי בצומתי אשכולות של משתמשים, Google Distributed Cloud יוצר מחדש את הצמתים באופן הדרגתי ומתזמן מחדש את הפודים שפועלים בצמתים האלה. כדי למנוע השפעה על עומסי העבודה, אפשר להגדיר PodDisruptionBudgets וכללי אנטי-אפיניות מתאימים. |
יצירה מחדש של קובץ מידע אם הוא חסר
אם קובץ הפלט של תחנת הניהול חסר, צריך ליצור אותו מחדש כדי להמשיך בשדרוג. הקובץ הזה נוצר כשיצרתם את תחנת העבודה, ואם מאז שדרגתם אותה, הוא עודכן במידע חדש.
קובץ הפלט הוא בפורמט הבא:
Admin workstation version: GKEADM_VERSION Created using gkeadm version: GKEADM_VERSION VM name: ADMIN_WS_NAME IP: ADMIN_WS_IP SSH key used: FULL_PATH_TO_ADMIN_WS_SSH_KEY To access your admin workstation: ssh -i FULL-PATH-TO-ADMIN-WS-SSH-KEY ubuntu@ADMIN-WS-IP
הנה דוגמה לקובץ פלט של מידע:
Admin workstation version: v1.10.3-gke.49 Created using gkeadm version: v1.10.3-gke.49 VM name: admin-ws-janedoe IP: 172.16.91.21 SSH key used: /home/janedoe/.ssh/gke-admin-workstation Upgraded from (rollback version): v1.10.0-gke.194 To access your admin workstation: ssh -i /home/janedoe/.ssh/gke-admin-workstation ubuntu@172.16.91.21
יוצרים את הקובץ בכלי עריכה ומחליפים את הפרמטרים המתאימים. שומרים את הקובץ עם שם קובץ שזהה לשם ה-VM בספרייה שממנה מופעל gkeadm. לדוגמה, אם שם ה-VM הוא admin-ws-janedoe, שומרים את הקובץ בשם admin-ws-janedoe.
המאמרים הבאים
מאמרי עזרה על ה-CLI של gcloud
מאמרי עזרה של Terraform