מחיקת אשכול אדמין

בדף הזה מוסבר איך למחוק אשכול אדמין שנוצר באמצעות Google Distributed Cloud (תוכנה בלבד) ל-VMware.

לפני שמתחילים

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

  • מוחקים את אשכולות המשתמשים שלו. מחיקת אשכול משתמשים
  • מוחקים את כל עומסי העבודה שמשתמשים בPodDisruptionBudgets מאשכול הניהול.
  • מוחקים את כל האובייקטים החיצוניים, כמו PersistentVolumes, מאשכול האדמין.
  • בתחנת העבודה של האדמין, מגדירים משתנה סביבה KUBECONFIG שמצביע על קובץ ה-kubeconfig של אשכול האדמין שרוצים למחוק:

    export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
    

    ADMIN_CLUSTER_KUBECONFIG הוא הנתיב לקובץ ה-kubeconfig של אשכול האדמין.

  • אופציונלי: מריצים את הפקודה הבאה בתחנת העבודה של האדמין כדי לקבל את שם אשכול האדמין:

    kubectl get -n=kube-system onpremadmincluster
    

ביטול ההרשמה של אשכול האדמין

אם אשכול האדמין רשום ב-GKE On-Prem API, צריך לבטל את הרישום שלו ב-API לפני שמוחקים משאבי אשכול אחרים. ביטול ההרשמה של האשכול מסיר את משאבי GKE On-Prem API מ- Google Cloud. אם לא תבטלו את ההרשמה של האשכול, הוא ימשיך להופיע במסוףGoogle Cloud בדף Kubernetes Engine > Clusters.

אם יצרתם את אשכול האדמין באמצעות מסוף Google Cloud או Terraform, האשכול נרשם אוטומטית ל-GKE On-Prem API. אשכולות אדמין שנוצרו בגרסה 1.16 ומעלה באמצעות כלי שורת הפקודה gkectl נרשמים אוטומטית ל-GKE On-Prem API. אם אשכול האדמין נוצר באמצעות gkectl בגרסה קודמת, האשכול רשום ל-API במקרים הבאים:

  1. כדי להציג רשימה של כל אשכולות האדמין שרשומים בפרויקט:

    gcloud container vmware admin-clusters list \
         --project=PROJECT_ID \
         --location=-
    

    מחליפים את PROJECT_ID במזהה של פרויקט המארח של הצי.

    הפקודה מחזירה את השם של כל אשכול אדמין שרשום ב-GKE On-Prem API בפרויקט, יחד עם Google Cloud האזור.

    כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים. אם צריך לצמצם את הרשימה, מגדירים את --location לאזור שציינתם כשנרשמתם לאשכול.

  2. מבטלים את ההרשמה של האשכול ל-GKE On-Prem API:

    gcloud container vmware admin-clusters unenroll  ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=REGION
    

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

    • ADMIN_CLUSTER_NAME: השם של אשכול האדמין.
    • PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet.
    • REGION: האזור. Google Cloud

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

מחיקת רישום ביומן ומעקב

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

‫Pods של רישום ביומן ומעקב ב-Google Distributed Cloud, שנפרסו מ-StatefulSets, משתמשים ב-PDB שיכולים למנוע ניקוז תקין של צמתים. כדי למחוק בצורה תקינה את אשכול האדמין, צריך למחוק את ה-Pods האלה.

כדי למחוק את ה-Pods של הרישום ביומן והמעקב, מריצים את הפקודות הבאות:

kubectl delete monitoring --all -n kube-system
kubectl delete stackdriver --all -n kube-system

מחיקת המעקב מנקה את PersistentVolumes ‏ (PVs) שמשויכים ל-StatefulSets, אבל צריך למחוק את PersistentVolume עבור Stackdriver בנפרד.

המחיקה של Stackdriver PV היא אופציונלית. אם בוחרים לא למחוק את ה-PV, צריך לתעד את המיקום והשם של ה-PV המשויך במיקום חיצוני מחוץ לאשכול המשתמשים.

המחיקה של ה-PV תתבצע באמצעות מחיקה של Persistent Volume Claim (PVC).

כדי למצוא את ה-PVC של Stackdriver, מריצים את הפקודה הבאה:

kubectl get pvc -n kube-system

כדי למחוק את ה-PVC, מריצים את הפקודה הבאה:

kubectl delete pvc -n kube-system PVC_NAME

איך מוודאים שהרישום ביומן והמעקב הוסרו

כדי לוודא שהוסרו הרישום ביומן והמעקב, מריצים את הפקודות הבאות:

kubectl get pvc -n kube-system
kubectl get statefulsets -n kube-system

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

אם אתם לא משתמשים במאזן העומסים F5, אפשר לדלג על הקטע הזה.

מחיקת מרחב השמות gke-system מאשכול האדמין מבטיחה ניקוי תקין של המחיצה F5, וכך מאפשרת לכם להשתמש מחדש במחיצה עבור אשכול אדמין אחר.

כדי למחוק את מרחב השמות gke-system, מריצים את הפקודה הבאה:

kubectl delete ns gke-system

לאחר מכן מוחקים את כל השירותים שנותרו מסוג LoadBalancer. כדי להציג רשימה של כל השירותים, מריצים את הפקודה הבאה:

kubectl get services --all-namespaces

לכל שירות מסוג LoadBalancer, מוחקים אותו באמצעות הפעלת הפקודה הבאה:

kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE

לאחר מכן, במסוף F5 BIG-IP:

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

אימות המחיצה של F5

CLI

מריצים את הפקודה הבאה כדי לוודא שכתובת ה-VIP מושבתת:

ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?

הפונקציה תחזיר 1 אם כתובת ה-IP הווירטואלית לא פעילה.

ממשק המשתמש של F5

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

  1. בפינה השמאלית העליונה, לוחצים על התפריט הנפתח מחיצה. בוחרים את המחיצה של אשכול האדמין.
  2. בתפריט ראשי בצד ימין, בוחרים באפשרות תנועה מקומית > מפת רשת. לא אמור להופיע כלום מתחת למפה של רשת התנועה המקומית.
  3. בקטע Local Traffic (תנועה מקומית) > Virtual Servers (שרתים וירטואליים), בוחרים באפשרות Nodes (צמתים) ואז באפשרות Nodes List (רשימת צמתים). גם כאן לא אמור להופיע כלום.

אם נשארו רשומות, צריך למחוק אותן ידנית מממשק המשתמש.

כיבוי של מכונות צומת אדמין

קודם מריצים את הפקודה הזו כדי לקבל את שמות המכונות, לפני שמכבים אותן.

kubectl get machines -o wide

הפלט מציג את שמות המכונות. מעכשיו אפשר למצוא אותם בממשק המשתמש של vSphere.

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

ממשק משתמש של vSphere

כך עושים את זה:

  1. בתפריט vSphere, בוחרים את המכונה הווירטואלית ממאגר המשאבים של vSphere.
  2. בראש התפריט של המכונה הווירטואלית, לוחצים על פעולות.
  3. בוחרים באפשרות הפעלה > כיבוי. יכול להיות שיעברו כמה דקות עד שהמכונה הווירטואלית תכבה.

מחיקת מכונות של צומת אדמין

אחרי שהמכונה הווירטואלית כובתה, אפשר למחוק אותה.

ממשק משתמש של vSphere

כך עושים את זה:

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

מחיקת דיסק הנתונים

אחרי שמוחקים את המכונות הווירטואליות, אפשר למחוק את דיסק הנתונים. השלבים משתנים מעט בהתאם לסוג אשכול האדמין שיש לכם: אשכול עם זמינות גבוהה (HA) או אשכול ללא זמינות גבוהה.

מבצעים את השלבים הבאים בממשק המשתמש של vSphere:

Non-HA

  1. בתפריט vSphere, בוחרים את דיסק הנתונים ממאגר הנתונים כפי שמצוין בשדה vCenter.dataDisk בקובץ התצורה של אשכול האדמין.
  2. באמצע התפריט של מאגר הנתונים, לוחצים על מחיקה.

HA

נתיבי דיסק הנתונים של 3 המכונות במישור הבקרה של האדמין נוצרים באופן אוטומטי בתיקייה /anthos/ADMIN_CLUSTER/default/, לדוגמה:

/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-0-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-1-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-2-data.vmdk

כדי למחוק כל דיסק נתונים, פועלים לפי השלבים הבאים:

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

מחיקת הקובץ checkpoint.yaml

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

DATA_DISK_NAME-checkpoint.yaml הקובץ, כאשר DATA_DISK_NAME הוא שם דיסק הנתונים, נמצא באותה תיקייה שבה נמצא דיסק הנתונים. מחיקת הקובץ.

ביטול הרישום של אשכול האדמין

כשיוצרים אשכול אדמין, הוא נרשם אוטומטית ל-Google Cloud fleet. צריך לבטל את הרישום של האשכול אחרי שמוחקים את מכונות צומת האדמין, אחרת בקר באשכול ירשום מחדש את האשכול באופן אוטומטי.

ביטול הרישום של האשכול מסיר את משאבי החברות ב-Fleet מ-Google Cloud. אם לא תבטלו את הרישום של האשכול, הוא ימשיך להופיע במסוף בדף Kubernetes Engine > Clusters. Google Cloud

  1. מריצים את הפקודה הבאה ורושמים את המיקום:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    
  2. מריצים את הפקודה הבאה כדי למחוק את החברות בצי, וכך לבטל את הרישום של האשכול:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=MEMBERSHIP_REGION
    

    מחליפים את MEMBERSHIP_REGION במיקום שמופיע בפלט של הפקודה gcloud container fleet memberships list. יכול להיות שזה global או אזור Google Cloud .

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

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