במאמר הזה מוסבר איך להסיר את 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 בתת-רשת ציבורית.
כדי להתחבר לשירות הניהול:
עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
cd anthos-aws
כדי לפתוח את המנהרה, מריצים את הסקריפט
bastion-tunnel.sh. המנהרה מעבירה את הנתונים אלlocalhost:8118.כדי לפתוח מנהרה ליעד המבוצר (bastion host), מריצים את הפקודה הבאה:
./bastion-tunnel.sh -Nההודעות ממנהרת ה-SSH מופיעות בחלון הזה. כשרוצים לסגור את החיבור, מפסיקים את התהליך באמצעות Control+C או סוגרים את החלון.
פותחים טרמינל חדש ועוברים לספרייה
anthos-aws.cd anthos-aws
מוודאים שאפשר להתחבר לאשכול באמצעות
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoהפלט כולל את כתובת ה-URL של שרת ה-API של שירות הניהול.
מחיקת אשכולות משתמשים
משתמשים ב-kubectl כדי למחוק אשכולות משתמשים. GKE ב-AWS משבית את כל הצמתים בצורה מסודרת. ה-Pods מקבלים SIGTERM ואז, אחרי תקופת חסד, SIGKILL. אחרי שהפודים מפסיקים לפעול, שירות הניהול מתחיל להסיר את המשאבים של AWS.
כדי למחוק אשכול משתמשים, מבצעים את השלבים הבאים:
בספריית
anthos-aws, משתמשים ב-anthos-gkeכדי להחליף הקשר לאשכול המשתמשים. מחליפים את CLUSTER_NAME בשם אשכול המשתמש.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
מוחקים את המשאבים Load balancers, Ingress או PersistentVolumeClaim שיצרתם.
משתמשים בפקודה
kubectlהבאה כדי לבדוק אם יש שירותים של מאזן עומסים שנותרו באשכול המשתמשים:env HTTPS_PROXY=http://localhost:8118 \ kubectl get servicesמשתמשים בפקודה
kubectlהבאה כדי לבדוק אם יש בקשות PersistentVolumeClaims שנותרו באשכול המשתמשים:env HTTPS_PROXY=http://localhost:8118 \ kubectl get persistentvolumeclaimמשתמשים ב-
kubectl deleteכדי למחוק את כל השירותים או את כל ה-PersistentVolumeClaims שנותרו שיצרתם. לדוגמה, כדי למחוק את LoadBalancermy-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
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
מחיקת כל ה-AWSNodePools באמצעות
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSNodePool --allמחיקת כל AWSCluster באמצעות
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSCluster --all
הסרה של שירות ניהול
משתמשים בפקודה anthos-gke כדי למחוק את שירות הניהול.
משנים את הספרייה לתיקייה שיצרתם במהלך ההתקנה.
משתמשים בפקודה
anthos-gkeכדי למחוק משאבים בשירות הניהול.env HTTP_PROXY=http://localhost:8118 \ anthos-gke aws management delete
הסרת קטגוריית AWS S3
כשיוצרים שירות ניהול, anthos-gke יוצר דלי S3 ב-AWS עם קבצים בינאריים ליצירת אשכול. הקטגוריה תהיה בשימוש חוזר כשיוצרים אשכולות משתמשים חדשים. אם אתם כבר לא משתמשים ב-GKE ב-AWS, אתם יכולים להסיר את מאגר הנתונים אחרי שתמחקו את שירות הניהול.
כדי למחוק את דלי ה-S3 של GKE ב-AWS, מבצעים את השלבים הבאים:
כדי למצוא את שם הדלי, מחפשים את הערך של
gcs_download_bucketב-terraform-workspace/terraform.tfvars.jsonבאמצעותgrep.grep agent_s3_bucket terraform.tfvars.jsonמוחקים את קטגוריית ה-S3 הזו ואת התוכן שלה באמצעות הפקודה
aws, ומחליפים את bucket-name בשם הקטגוריה מהפקודה הקודמת.aws s3 rb s3://bucket-name --force