הסרת GKE ב-AWS

במאמר הזה מוסבר איך להסיר את GKE ב-AWS.

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

כדי לבצע את השלבים האלה, צריך להזדהות בשירות הניהול של GKE ב-AWS.

כדי להתחבר למשאבי GKE ב-AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם רשת VPC קיימת ב-AWS (או חיבור ישיר לרשת ה-VPC) או אם יצרתם רשת VPC ייעודית כשבניתם את שירות הניהול.

VPC קיים

אם יש לכם חיבור ישיר או חיבור VPN ל-VPC קיים, אל תכללו את השורה env HTTP_PROXY=http://localhost:8118 בפקודות שמופיעות בנושא הזה.

VPC ייעודי

כשיוצרים שירות ניהול ב-VPC ייעודי, GKE on AWS כולל מארח bastion בתת-רשת ציבורית.

כדי להתחבר לשירות הניהול:

  1. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.

    cd anthos-aws

  2. כדי לפתוח את המנהרה, מריצים את הסקריפט bastion-tunnel.sh. המנהרה מעבירה את הנתונים אל localhost:8118.

    כדי לפתוח מנהרה ליעד המבוצר (bastion host), מריצים את הפקודה הבאה:

    ./bastion-tunnel.sh -N
    

    ההודעות ממנהרת ה-SSH מופיעות בחלון הזה. כשרוצים לסגור את החיבור, מפסיקים את התהליך באמצעות Control+C או סוגרים את החלון.

  3. פותחים טרמינל חדש ועוברים לספרייה anthos-aws.

    cd anthos-aws
  4. מוודאים שאפשר להתחבר לאשכול באמצעות kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    הפלט כולל את כתובת ה-URL של שרת ה-API של שירות הניהול.

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

משתמשים ב-kubectl כדי למחוק אשכולות משתמשים. ‫GKE ב-AWS משבית את כל הצמתים בצורה מסודרת. ה-Pods מקבלים SIGTERM ואז, אחרי תקופת חסד, SIGKILL. אחרי שהפודים מפסיקים לפעול, שירות הניהול מתחיל להסיר את המשאבים של AWS.

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

  1. בספריית anthos-aws, משתמשים ב-anthos-gke כדי להחליף הקשר לאשכול המשתמשים.

    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    מחליפים את CLUSTER_NAME בשם אשכול המשתמש.

  2. מוחקים את המשאבים Load balancers, ‏ Ingress או PersistentVolumeClaim שיצרתם.

    1. משתמשים בפקודה kubectl הבאה כדי לבדוק אם יש שירותים של מאזן עומסים שנותרו באשכול המשתמשים:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get services
      
    2. משתמשים בפקודה kubectl הבאה כדי לבדוק אם יש בקשות PersistentVolumeClaims שנותרו באשכול המשתמשים:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get persistentvolumeclaim
      
    3. משתמשים ב-kubectl delete כדי למחוק את כל השירותים או את כל ה-PersistentVolumeClaims שנותרו שיצרתם. לדוגמה, כדי למחוק את LoadBalancer my-lb-service, מריצים את הפקודה הבאה:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl delete service my-lb-service
      

      לדוגמה, כדי למחוק את PersistentVolumeClaims‏ my-pvc, מריצים את הפקודה הבאה:

      env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete persistentvolumeclaim my-pvc
      
  3. בספרייה של anthos-aws, משתמשים ב-anthos-gke כדי להעביר את ההקשר לשירות הניהול.

    cd anthos-aws
    anthos-gke aws management get-credentials

  4. מחיקת כל ה-AWSNodePools באמצעות kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    
  5. מחיקת כל AWSCluster באמצעות kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

הסרה של שירות ניהול

משתמשים בפקודה anthos-gke כדי למחוק את שירות הניהול.

  1. משנים את הספרייה לתיקייה שיצרתם במהלך ההתקנה.

  2. משתמשים בפקודה anthos-gke כדי למחוק משאבים בשירות הניהול.

    env HTTP_PROXY=http://localhost:8118 \
      anthos-gke aws management delete
    

הסרת קטגוריית AWS S3

כשיוצרים שירות ניהול, anthos-gke יוצר דלי S3 ב-AWS עם קבצים בינאריים ליצירת אשכול. הקטגוריה תהיה בשימוש חוזר כשיוצרים אשכולות משתמשים חדשים. אם אתם כבר לא משתמשים ב-GKE ב-AWS, אתם יכולים להסיר את מאגר הנתונים אחרי שתמחקו את שירות הניהול.

כדי למחוק את דלי ה-S3 של GKE ב-AWS, מבצעים את השלבים הבאים:

  1. כדי למצוא את שם הדלי, מחפשים את הערך של gcs_download_bucket ב-terraform-workspace/terraform.tfvars.json באמצעות grep.

    grep agent_s3_bucket terraform.tfvars.json
    
  2. מוחקים את קטגוריית ה-S3 הזו ואת התוכן שלה באמצעות הפקודה aws, ומחליפים את bucket-name בשם הקטגוריה מהפקודה הקודמת.

    aws s3 rb s3://bucket-name --force