אשכול משתמשים ב-GKE on AWS מארח את עומסי העבודה של Kubernetes. במאמר הזה מוסבר איך ליצור אשכול משתמשים בסיסי. אם רוצים להגדיר עוד הגדרות באשכול משתמשים, אפשר לעיין במאמר בנושא יצירת אשכול משתמשים בהתאמה אישית.
אתם מקצים אשכול משתמשים של GKE ב-AWS באמצעות AWSCluster ו-AWSNodePool
משאבים מותאמים אישית.
לפני שמתחילים
כדי ליצור אשכול משתמשים, קודם צריך להתקין שירות ניהול.
כדי להתחבר למשאבי GKE on AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם ענן וירטואלי פרטי (VPC) קיים ב-AWS (או חיבור ישיר לענן הווירטואלי הפרטי), או אם יצרתם ענן וירטואלי פרטי ייעודי כשבניתם את שירות הניהול.
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 של שירות הניהול.
בחירת גודל של מופע מישור הבקרה
GKE ב-AWS לא תומך בשינוי הגודל של מופעים במישור הבקרה. לפני שיוצרים את אשכול המשתמשים, בוחרים את גודל המכונה של מישורי הבקרה. הגודל של מישור הבקרה תלוי במספר הצמתים באשכול. בטבלה הבאה מפורטים גדלי המופעים של מישור הבקרה המומלצים לגדלים שונים של אשכולות.
| גודל האשכול (צמתים) | סוג המכונה של מישור הבקרה |
|---|---|
| 1 – 10 | m5.large |
| 11 – 100 | m5.xlarge |
| 101 – 200 | m5.2xlarge |
יצירת אשכול משתמשים
בדוגמה הזו, משתמשים ב-terraform כדי ליצור הגדרה ליצירת אשכול בסיסי. לאחר מכן, מפעילים את ההגדרה באמצעות kubectl apply.
פותחים את הטרמינל, ובמקרה הצורך, מתחברים ליעד המבוצר (bastion host).
עוברים לתיקייה שיצרתם כשהתקנתם את שירות הניהול.
משתמשים ב-Terraform כדי ליצור מניפסט להגדרת אשכול לדוגמה ושומרים אותו בקובץ YAML. בוחרים את הגרסה של Terraform ומריצים את הפקודות הבאות:
Terraform 0.12, 0.13
terraform output cluster_example > cluster-0.yamlTerraform 0.14.3 ואילך
terraform output -raw cluster_example > cluster-0.yamlמידע נוסף על תוכן הקובץ מופיע במאמרי העזרה בנושא
AWSClusterו-AWSNodePool.פותחים את הקובץ בכלי לעריכת טקסט ועורכים אותו אם צריך. כברירת מחדל, GKE ב-AWS יוצר מאגרי צמתים בכל אזור זמינות שצוין ב-
anthos-gke.yaml. אתם יכולים לשנות את הגודל ואת מספר מאגרי הצמתים כדי להתאים אותם לאשכול הרצוי. אפשר גם לבצע שינויים נוספים בהגדרה. לדוגמה, אפשר לשנות את סוגי המופעים של הצמתים ב-GKE on AWS, או להפעיל רישום ביומן ומעקב בצמתים של מישור הבקרה.מחילים את הקובץ על שירות הניהול.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
יצירת קובץ kubeconfig
בזמן שה-user cluster מתחיל, אתם יכולים ליצור kubeconfigקונטקסט ל-user cluster החדש. ההקשר משמש לאימות למשתמש או לאשכול ניהול.
משתמשים ב-
anthos-gke aws clusters get-credentialsכדי ליצורkubeconfigלאשכול המשתמשים ב-~/.kube/config.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAMEמחליפים את CLUSTER_NAME בשם האשכול. לדוגמה,
cluster-0.משתמשים ב-
kubectlכדי לבצע אימות לאשכול המשתמשים החדש.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoאם האשכול מוכן, הפלט כולל את כתובות ה-URL של רכיבי Kubernetes באשכול.
צפייה בסטטוס של האשכול
שירות הניהול מקצה משאבי AWS כשמחילים את AWSCluster או את AWSNodePool.
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
כדי להציג את האשכולות, משתמשים בפקודה
kubectl get AWSClusters.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClustersהפלט כולל את השם, המצב, הגיל, הגרסה ונקודת הקצה של כל אשכול.
לדוגמה, הפלט הבא כולל רק
AWSClusterאחד בשםcluster-0:NAME STATE AGE VERSION ENDPOINT cluster-0 Provisioning 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
הצגת האירועים של האשכול
כדי לראות אירועי Kubernetes מהזמן האחרון באשכול המשתמשים, משתמשים ב-kubectl get events.
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
מריצים את
kubectl get events.env HTTPS_PROXY=http://localhost:8118 \ kubectl get events
הפלט כולל מידע, אזהרות ושגיאות שקשורים לשירות הניהול.
מחיקת אשכול משתמשים
כדי למחוק אשכול משתמשים, מבצעים את השלבים הבאים:
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
משתמשים ב-
kubectl deleteכדי למחוק את קובץ המניפסט שמכיל את אשכולות המשתמשים.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILEמחליפים את CLUSTER_FILE בשם המניפסט שמכיל את האובייקטים AWScluster ו-AWSNodePool. לדוגמה,
cluster-0.yaml.
מחיקת כל אשכולות המשתמשים
כדי למחוק את כל אשכולות המשתמשים:
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
משתמשים ב-
kubectl deleteכדי למחוק את AWSNodePools ואת AWSClusters משירות הניהול.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSNodePool --all env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSCluster --all
מידע נוסף זמין במאמר הסרת ההתקנה של GKE ב-AWS.
המאמרים הבאים
הפעלת עומס העבודה הראשון ב-GKE ב-AWS.
מגדירים את ספק הזהויות באמצעות GKE Identity Service.
יוצרים אשכול משתמשים מותאם אישית עם הגדרות שונות.
מגדירים רשת AWS לאיזון עומסים של עומסי העבודה.
אפשר לקרוא את המפרטים של AWSCluster ושל AWSNodePool בהגדרות של משאבים בהתאמה אישית.