מחיקת אשכול משתמשים

בדף הזה מוסבר איך למחוק אשכול משתמשים של Google Distributed Cloud. מחיקה של אשכול משתמשים מבטלת את הרישום של האשכול בצי ומביאה למחיקה של עומסי העבודה, מאגרי הצמתים, צמתים של מישור הבקרה והמשאבים התואמים, כמו מכונות וירטואליות, מחיצות F5 ודיסקים של נתונים.

בחירת כלי למחיקת אשכול

אם יצרתם את האשכול עם enableAdvancedCluster שהוגדר ל-true (מה שנדרש כדי להגדיר דומיינים של טופולוגיה), אתם צריכים להשתמש ב-gkectl כדי למחוק את האשכול.

אחרת, אופן המחיקה של אשכול משתמשים תלוי בשאלה אם האשכול רשום ב-GKE On-Prem API. אשכול משתמשים רשום ל-GKE On-Prem API אם אחד מהתנאים הבאים מתקיים:

  • האשכול נוצר באמצעות מסוף Google Cloud , ה-CLI של gcloud‏ (gcloud CLI) או 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.34.100-gke.93    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. אין חשיבות לגרסאות התיקון. לדוגמה, אפשר להשתמש בגרסה gkectl 1.29.0-gke.1456 כדי למחוק אשכול עם גרסת תיקון גבוהה יותר, כמו 1.29.1000-gke.94.

  • הגרסה המשנית gkectl לא יכולה להיות גבוהה ביותר משתי גרסאות משניות מגרסת האשכול. לדוגמה, אם מוחקים אשכול 1.28, הגרסה של gkectl יכולה להיות 1.29 או 1.30. אבל אי אפשר להשתמש בגרסה gkectl 1.31 כי היא גבוהה בשלוש גרסאות משניות מהגרסה של האשכול.

במקרה הצורך, אפשר לעיין במאמר בנושא הורדה של 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, צריך לבצע את השלבים הבאים כדי למחוק את האשכול:

  1. במסוף, נכנסים לדף Google Kubernetes Engine clusters overview.

    מעבר לאשכולות GKE

  2. בוחרים את הפרויקט Google Cloud שבו נמצא אשכול המשתמשים.

  3. ברשימת האשכולות, מאתרים את האשכול שרוצים למחוק. אם הסוג הוא חיצוני, זה מצביע על כך שהאשכול נוצר באמצעות gkectl ולא נרשם ל-GKE On-Prem API. במקרה כזה, פועלים לפי השלבים בכרטיסייה gkectl כדי למחוק את האשכול.

    אם הסמל בעמודה סטטוס מציין שיש בעיה, צריך לפעול לפי השלבים בכרטיסייה ה-CLI של gcloud כדי למחוק את האשכול. תצטרכו להוסיף את הדגל --ignore-errors לפקודת המחיקה.

  4. לוחצים על השם של האשכול שרוצים למחוק.

  5. בחלונית פרטים, ליד החלק העליון של החלון, לוחצים על מחיקה.

  6. כשמופיעה בקשה לאישור, מזינים את שם האשכול ולוחצים על הסרה.

‫CLI של gcloud

אם אשכול המשתמשים מנוהל על ידי GKE On-Prem API, מבצעים את הפעולות הבאות במחשב שמותקן בו ה-CLI של gcloud:

  1. עדכון רכיבים:

    gcloud components update
    
  2. כדי למחוק את האשכול, מריצים את הפקודה הבאה:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=LOCATION \
      --force \
      --allow-missing
    

    מחליפים את מה שכתוב בשדות הבאים:

    • USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים למחוק.

    • PROJECT_ID: המזהה של הפרויקט שהאשכול רשום בו.

    • LOCATION: Google Cloud המיקום שמשויך לאשכול המשתמשים.

    הדגל --force מאפשר למחוק אשכול שיש בו מאגרי צמתים. בלי התג --force, צריך קודם למחוק את מאגרי הצמתים ואז למחוק את האשכול.

    הדגל --allow-missing הוא דגל סטנדרטי של Google API. כשמציינים את הדגל הזה, הפקודה מחזירה הצלחה אם לא נמצא אשכול.

    אם הפקודה מחזירה שגיאה שמכילה את הטקסט failed connecting to the cluster's control plane, זה מצביע על בעיות בקישוריות לאחד מהרכיבים הבאים: אשכול האדמין, Connect Agent או הסביבה המקומית.

    • אם אתם חושבים שבעיית הקישוריות היא זמנית, למשל בגלל בעיות ברשת, כדאי להמתין ולנסות שוב להריץ את הפקודה.

    • אם הניסיון החוזר להפעלת הפקודה נכשל, אפשר לעיין במאמר בנושא איסוף יומני Connect Agent כדי לפתור בעיות ב-Connect Agent.

    • אם אתם יודעים שאשכול האדמין נמחק, או אם המכונות הווירטואליות של אשכול האדמין או של אשכול המשתמשים הושבתו או שאין אליהן גישה מסיבה אחרת, צריך לכלול את הדגל --ignore-errors ולנסות שוב להריץ את הפקודה.

למידע על דגלים אחרים, אפשר לעיין במדריך העזר ל-CLI של gcloud.

פינוי משאבים

אם היו בעיות כשמחקתם את האשכול, יכול להיות שיישארו משאבים של F5 או vSphere. בקטעים הבאים מוסבר איך לנקות את המשאבים שנותרו.

ניקוי מכונות וירטואליות באשכול משתמש ב-vSphere

כדי לוודא שהמכונות הווירטואליות של אשכול המשתמשים נמחקו, מבצעים את השלבים הבאים:

  1. בתפריט Navigator (ניווט) שמימין ב-vSphere Web Client, לוחצים על התפריט Hosts and Clusters (מארחים ואשכולות).

  2. מאתרים את מאגר המשאבים של אשכול האדמין. זה הערך של vCenter.resourcePool בקובץ התצורה של אשכול הניהול.

  3. במאגר המשאבים, מאתרים מכונות וירטואליות עם קידומת של שם אשכול המשתמשים. אלה הצמתים של מישור הבקרה עבור אשכול המשתמשים. יהיו אחד או שלושה כאלה, בהתאם לכך שלאשכול המשתמשים יש מישור בקרה עם זמינות גבוהה.

  4. מאתרים את מאגר המשאבים של אשכול המשתמשים. זה הערך של vCenter.resourcePool בקובץ התצורה של אשכול המשתמשים. אם קובץ ההגדרות של אשכול המשתמשים לא מציין מאגר משאבים, הוא עובר בירושה מאשכול הניהול.

  5. במאגר המשאבים, מאתרים מכונות וירטואליות עם תחילית שכוללת את השם של מאגר הצמתים באשכול המשתמשים. אלה צמתי העובדים באשכול המשתמשים.

  6. לכל צומת של מישור הבקרה ולכל צומת עובד:

    1. ב-vSphere Web Client, לוחצים לחיצה ימנית על המכונה הווירטואלית ובוחרים באפשרות Power (הפעלה) > Power Off (כיבוי).

    2. אחרי שהמכונה הווירטואלית מושבתת, לוחצים עליה לחיצה ימנית ובוחרים באפשרות מחיקה מהדיסק.

ניקוי מחיצת F5 של אשכול משתמשים

אם נשארו רשומות במחיצה של אשכול המשתמשים, מבצעים את השלבים הבאים:

  1. במסוף F5 BIG-IP, בפינה השמאלית העליונה של המסוף, עוברים למחיצת אשכול המשתמש שרוצים לנקות.
  2. בוחרים באפשרות Local Traffic (תנועה מקומית) > Virtual Servers (שרתים וירטואליים) > Virtual Server List (רשימת שרתים וירטואליים).
  3. בתפריט Virtual Servers (שרתים וירטואליים), מסירים את כל כתובות ה-IP הווירטואליות.
  4. בוחרים באפשרות מאגרי כתובות ומוחקים את כל המאגרים.
  5. בוחרים באפשרות צמתים ומוחקים את כל הצמתים.

אחרי שמסיימים

אחרי שמוחקים את האשכול, אפשר למחוק את קובץ ה-kubeconfig של אשכול המשתמשים.