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

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

  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 \
      --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

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

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

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

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

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

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

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