בדף הזה מוסבר איך למחוק אשכול משתמשים ב-Google Distributed Cloud. מחיקה של אשכול משתמשים מבטלת את הרישום של האשכול ב-Fleet ומביאה למחיקה של עומסי העבודה, מאגרי הצמתים, צמתים של מישור הבקרה והמשאבים התואמים, כמו מכונות וירטואליות, מחיצות F5 ודיסקים של נתונים.
בחירת כלי למחיקת אשכול
אם יצרתם את האשכול עם enableAdvancedCluster שהוגדר ל-true (שנדרש להגדרת דומיינים של טופולוגיה), אתם צריכים להשתמש ב-gkectl כדי למחוק את האשכול.
אחרת, אופן המחיקה של אשכול משתמשים תלוי בשאלה אם האשכול רשום ב-GKE On-Prem API. אשכול משתמשים רשום ל-GKE On-Prem API אם אחד מהתנאים הבאים מתקיים:
האשכול נוצר באמצעות מסוף Google Cloud , ה-CLI של gcloud או Terraform, שרושמים את האשכול באופן אוטומטי ל-GKE On-Prem API. הכלים האלה נקראים ביחד לקוחות GKE On-Prem API.
האשכול נוצר באמצעות
gkectl, אבל הוא נרשם ל-GKE On-Prem API.
אם האשכול רשום ב-GKE On-Prem API, צריך להשתמש בלקוח GKE On-Prem API כדי למחוק את האשכול. אם האשכול לא רשום ב-GKE On-Prem API, משתמשים ב-gkectl בתחנת העבודה של האדמין כדי למחוק את האשכול.
כדי למצוא את כל אשכולות המשתמשים שרשומים ב-GKE On-Prem API בפרויקט מסוים, מריצים את הפקודה הבאה:
gcloud container vmware clusters list \
--project=PROJECT_ID \
--location=-
הפלט אמור להיראות כך:
NAME LOCATION VERSION ADMIN_CLUSTER. STATE example-user-cluster-1a us-west1 1.35.300-gke.87 example-admin-cluster-1 RUNNING
כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים.
אם צריך לצמצם את הרשימה, אפשר להגדיר את --location לאזור ספציפי.
אם האשכול מופיע ברשימה, הוא רשום ב-GKE On-Prem API. אם אתם לא בעלי הפרויקט, אתם צריכים לקבל לפחות את התפקיד roles/gkeonprem.admin בניהול הזהויות והרשאות הגישה (IAM) בפרויקט כדי למחוק אשכולות רשומים. פרטים על ההרשאות שכלולות בתפקיד הזה מופיעים במאמר תפקידי API של GKE On-Prem במסמכי ה-IAM.
אם אתם משתמשים ב-gkectl כדי למחוק אשכול, ודאו שבתחנת העבודה של האדמין מותקנת הגרסה הנדרשת של gkectl. בדרך כלל, משתמשים באותה גרסה של gkectl כמו הגרסה של האשכול שרוצים למחוק. כללי הגרסה הבאים נאכפים במהלך המחיקה:
הגרסה המשנית
gkectlלא יכולה להיות נמוכה מהגרסה המשנית של האשכול. לדוגמה, אסור למחוק אשכול 1.30 באמצעותgkectlגרסה 1.29. גרסאות תיקון לא משנות. לדוגמה, אפשר להשתמש בגרסה 1.29.0-gke.1456 כדי למחוק אשכול עם גרסת תיקון גבוהה יותר, כמו 1.29.1000-gke.94.gkectlהגרסה המשנית
gkectlלא יכולה להיות גבוהה ביותר משתי גרסאות משניות מגרסת האשכול. לדוגמה, אם מוחקים אשכול 1.28, הגרסהgkectlיכולה להיות 1.29 או 1.30. אבל אי אפשר להשתמש בגרסה 1.31 שלgkectlכי היא גבוהה בשלוש גרסאות משניות מהגרסה של האשכול.
במקרה הצורך, אפשר לעיין במאמר בנושא הורדה של gkectl כדי לקבל גרסה נתמכת של gkectl.
מחיקת עומסי עבודה עם שמירת מצב
לפני שמוחקים את האשכול, מוחקים את עומסי העבודה עם שמירת מצב, את ה-PVC ואת ה-PV על ידי הרצת הפקודה kubectl delete.
מחיקת אשכול משתמשים
gkectl
אפשר להשתמש ב-gkectl כדי למחוק אשכולות שלא רשומים ב-GKE On-Prem API. אם כללי הפרוקסי וחומת האש של הארגון מאפשרים לתעבורה להגיע אל gkeonprem.googleapis.com ו-gkeonprem.mtls.googleapis.com (שמות השירותים של GKE On-Prem API), gkectl יוכל למחוק אשכולות רשומים.
מריצים את הפקודה הבאה בתחנת העבודה של האדמין כדי למחוק את האשכול:
gkectl delete cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster CLUSTER_NAME
איפה
-
ADMIN_CLUSTER_KUBECONFIGהוא הנתיב לקובץ kubeconfig של אשכול האדמין. -
CLUSTER_NAMEהוא שם אשכול המשתמשים שרוצים למחוק.
אם המחיקה נכשלת ומוצגת הודעה שדומה להודעה הבאה:
Exit with error: ... failed to unenroll user cluster CLUSTER_NAME failed to create GKE On-Prem API client
המשמעות היא שהאשכול רשום, אבל gkectl לא הצליח להגיע ל-GKE On-Prem API. במקרה כזה, הפתרון הכי פשוט הוא להשתמש בלקוח GKE On-Prem API כדי למחוק את האשכול.
אם מחיקת אשכול המשתמשים נכשלת באמצע, אפשר להריץ את הפקודה gkectl עם הדגל --force כדי להתעלם מהשגיאה באמצע ולהמשיך במחיקה.
gkectl delete cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster CLUSTER_NAME \ --force
אם מחקתם אשכול שהשתמש במאזן העומסים של Seesaw, צריך למחוק את המכונות הווירטואליות של Seesaw. כדי לעשות את זה, צריך למחוק את מכונות ה-VM של Seesaw בממשק המשתמש של vSphere.
המסוף
אם אשכול המשתמשים מנוהל על ידי GKE On-Prem API, צריך לבצע את השלבים הבאים כדי למחוק את האשכול:
במסוף, נכנסים לדף Google Kubernetes Engine clusters overview.
בוחרים את הפרויקט Google Cloud שבו נמצא אשכול המשתמשים.
ברשימת האשכולות, מאתרים את האשכול שרוצים למחוק. אם הסוג הוא חיצוני, זה מצביע על כך שהאשכול נוצר באמצעות
gkectlולא נרשם ל-GKE On-Prem API. במקרה כזה, פועלים לפי השלבים בכרטיסייהgkectlכדי למחוק את האשכול.אם הסמל בעמודה סטטוס מציין שיש בעיה, צריך לפעול לפי השלבים בכרטיסייה ה-CLI של gcloud כדי למחוק את האשכול. תצטרכו להוסיף את הדגל
--ignore-errorsלפקודת המחיקה.לוחצים על השם של האשכול שרוצים למחוק.
בחלונית פרטים, ליד החלק העליון של החלון, לוחצים על מחיקה.
כשמופיעה בקשה לאישור, מזינים את שם האשכול ולוחצים על הסרה.
CLI של gcloud
אם אשכול המשתמשים מנוהל על ידי GKE On-Prem API, מבצעים את הפעולות הבאות במחשב שמותקן בו ה-CLI של gcloud:
עדכון רכיבים:
gcloud components update
כדי למחוק את האשכול, מריצים את הפקודה הבאה:
gcloud container vmware clusters delete USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --force \ --allow-missing \ --ignore-errors
מחליפים את מה שכתוב בשדות הבאים:
USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים למחוק.
PROJECT_ID: המזהה של הפרויקט שהאשכול רשום בו.
LOCATION: Google Cloud המיקום שמשויך לאשכול המשתמשים.
הדגל
--forceמאפשר למחוק אשכול שיש בו מאגרי צמתים. בלי הדגל--force, צריך למחוק קודם את מאגרי הצמתים ואז למחוק את האשכול.הדגל
--allow-missingהוא דגל סטנדרטי של Google API. כשמציינים את הדגל הזה, הפקודה מחזירה הצלחה אם לא נמצא אשכול.הדגל
--ignore-errorsמבטיח שמחיקת משאב של אשכול משתמשים תצליח גם אם יתרחשו שגיאות במהלך המחיקה.אם הפקודה מחזירה שגיאה שמכילה את הטקסט
failed connecting to the cluster's control plane, זה מצביע על בעיות בקישוריות של אשכול האדמין, של סוכן Connect או של הסביבה המקומית.אם אתם חושבים שבעיית הקישוריות היא זמנית, למשל בגלל בעיות ברשת, כדאי להמתין ולנסות שוב להריץ את הפקודה.
אם הניסיון החוזר להפעלת הפקודה נכשל, אפשר לעיין במאמר בנושא איסוף יומני Connect Agent כדי לפתור בעיות ב-Connect Agent.
אם אתם יודעים שאשכול האדמין נמחק, או אם המכונות הווירטואליות של אשכול האדמין או של אשכול המשתמשים הושבתו או שאין אליהן גישה מסיבה אחרת, צריך לכלול את הדגל
--ignore-errorsולנסות שוב להריץ את הפקודה.
למידע על דגלים אחרים, אפשר לעיין במדריך העזר ל-CLI של gcloud.
לפנות משאבים
אם היו בעיות כשמחקתם את האשכול, יכול להיות שיישארו משאבים של F5 או vSphere. בקטעים הבאים מוסבר איך לנקות את המשאבים שנותרו.
ניקוי מכונות וירטואליות באשכול משתמש ב-vSphere
כדי לוודא שהמכונות הווירטואליות של אשכול המשתמשים נמחקו, מבצעים את השלבים הבאים:
בתפריט Navigator (ניווט) שמימין ב-vSphere Web Client, לוחצים על התפריט Hosts and Clusters (מארחים ואשכולות).
מאתרים את מאגר המשאבים של אשכול האדמין. זה הערך של
vCenter.resourcePoolבקובץ התצורה של אשכול הניהול.במאגר המשאבים, מאתרים מכונות וירטואליות עם קידומת של שם אשכול המשתמשים. אלה הצמתים של מישור הבקרה עבור אשכול המשתמשים. יהיה אחד או שלושה כאלה, בהתאם לכך שלאשכול המשתמשים יש מישור בקרה עם זמינות גבוהה.
מאתרים את מאגר המשאבים של אשכול המשתמשים. זה הערך של
vCenter.resourcePoolבקובץ ההגדרות של אשכול המשתמשים. אם קובץ ההגדרות של אשכול המשתמשים לא מציין מאגר משאבים, הוא עובר בירושה מאשכול הניהול.במאגר המשאבים, מאתרים מכונות וירטואליות עם תחילית של שם מאגר צמתים באשכול המשתמשים. אלה צמתי העובדים באשכול המשתמשים.
לכל צומת של מישור הבקרה ולכל צומת עובד:
ב-vSphere Web Client, לוחצים לחיצה ימנית על המכונה הווירטואלית ובוחרים באפשרות Power (הפעלה) > Power Off (כיבוי).
אחרי שמכבים את ה-VM, לוחצים לחיצה ימנית על ה-VM ובוחרים באפשרות מחיקה מהדיסק.
ניקוי מחיצת F5 של אשכול משתמשים
אם נשארו רשומות במחיצה של אשכול המשתמשים, מבצעים את השלבים הבאים:
- בפינה השמאלית העליונה של מסוף F5 BIG-IP, עוברים למחיצת אשכול המשתמש שרוצים לנקות.
- בוחרים באפשרות Local Traffic (תעבורה מקומית) > Virtual Servers (שרתים וירטואליים) > Virtual Server List (רשימת שרתים וירטואליים).
- בתפריט Virtual Servers (שרתים וירטואליים), מסירים את כל כתובות ה-IP הווירטואליות.
- בוחרים באפשרות מאגרי כתובות ומוחקים את כל המאגרים.
- בוחרים באפשרות צמתים ומוחקים את כל הצמתים.
אחרי שמסיימים
אחרי שמוחקים את האשכול, אפשר למחוק את קובץ ה-kubeconfig של אשכול המשתמשים.