בדף הזה מוסבר איך להגדיר גישה לאשכולות לכלי kubectl של שורת הפקודה ב-GKE ב-AWS.
הדף הזה מיועד לאדמינים ב-IT ולמפעילים שרוצים להגדיר, לנטר ולנהל תשתית ענן. מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן ב Google Cloud תוכן, זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE.
סקירה כללית
כדי לגשת ל-GKE ב-AWS, צריך להגדיר את kubectl. אתם יכולים להגדיר אשכול ברירת מחדל ל-kubectl על ידי הגדרת ההקשר הנוכחי בקובץ kubeconfig של Kubernetes. בנוסף, אפשר להריץ פקודות kubectl נגד אשכול ספציפי באמצעות הדגל --cluster.
מידע נוסף על kubeconfig ועל נקודות קצה של אשכולים זמין במאמר מידע על Kubeconfig.
לפני שמתחילים
אם אתם משתמשים ב-Connect gateway לגישת kubectl, אתם צריכים להקצות למשתמשים עם הרשאות אדמין שאינם בעלי הפרויקט את תפקידי ה-IAM שמתוארים במאמר שימוש ב-kubectl עם זהות מ-CLI של gcloud.
בדיקת קובץ ה-kubeconfig הנוכחי
בקטע הזה מוסבר איך בודקים את kubeconfig הנוכחית.
הצגת הקשרים של kubeconfig
כדי לראות את kubeconfig בסביבה שלכם ואת כל ההקשרים שהוא מכיל, מריצים את הפקודה הבאה:
kubectl config view
הפקודה מחזירה רשימה של כל האשכולות שעבורם נוצרו רשומות kubeconfig. אם רשום אשכול GKE ב-AWS, אפשר להריץ פקודות kubectl נגדו בסביבה הנוכחית. אחרת, צריך ליצור רשומה של kubeconfig עבור האשכול.
הצגת ההקשר הנוכחי של kubectl
כדי לראות את ההקשר הנוכחי שבו כלי שורת הפקודה kubectl משתמש, מריצים את הפקודה הבאה:
kubectl config current-context
kubectl מחזירה את השם של ההקשר הנוכחי.
יצירת רשומה ב-kubeconfig
כדי להריץ פקודות של kubectl מול אשכולות GKE, צריך ליצור רשומה של kubeconfig. האופן שבו יוצרים קובץ kubeconfig תלוי באופן שבו רוצים להתחבר לאשכול. מומלץ להשתמש בשער Connect. כשמשתמשים בשער Connect, פריסת gke-connect-agent שולחת בקשות דרך Google למישור הבקרה של האשכול.
כדי לבדוק אילו פקודות kubectl נתמכות על ידי שער Connect, אפשר לעיין במאמר בנושא מגבלות.
אם רוצים להתחבר דרך נקודת קצה פרטית, צריך שיהיה חיבור וניתוב לנקודת הקצה של מישור הבקרה בענן הווירטואלי הפרטי של AWS. kube-apiserver של האשכול הוא חלק מרמת הבקרה. כדי לשלוח בקשות ישירות לנקודת הקצה הפרטית, יכול להיות שתצטרכו להרחיב את כללי חומת האש. מידע נוסף על התחברות למישור הבקרה זמין במאמר בנושא קבוצות אבטחה ב-AWS.
חיבור שער
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור או האזור שבו מתבצע הניהול של GKE ב-AWS Google Cloud
נקודת קצה פרטית
כדי להתחבר לנקודת הקצה הפרטית, צריך קישוריות למישור הבקרה של האשכול. ראו התחברות למישור הבקרה של האשכול.
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--private-endpoint
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור או האזור שבו מתבצע הניהול של GKE ב-AWS Google Cloud
עבודה עם כמה אשכולות
בקטע הזה מוסבר איך להשתמש ב-kubectl עם כמה אשכולות GKE.
הגדרת אשכול ברירת מחדל לפקודות kubectl
כדי להחליף את ההקשר הנוכחי של kubectl לאותו אשכול, מריצים את הפקודה:
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
GOOGLE_CLOUD_LOCATION: האזור או האזור שבו מתבצע הניהול של GKE ב-AWS Google Cloud
לדוגמה, נניח שיש פרויקט עם שני אשכולות, cluster-1 ו-cluster-2.
ההקשר הנוכחי הוא cluster-2. כדי להחליף את ההקשר הנוכחי מ-cluster-2 ל-cluster-1, מריצים את הפקודה הבאה:
gcloud container aws clusters get-credentials cluster-1 \
--location GOOGLE_CLOUD_LOCATION
הרצת פקודות kubectl בודדות מול אשכול ספציפי
כדי להריץ פקודות kubectl ספציפיות מול אשכול מסוים, מעבירים את שם האשכול כפי שהוא מופיע ב-kubeconfig כארגומנט לדגל --cluster.
לדוגמה, נניח שיש סביבה עם שני אשכולות, cluster-1 ו-cluster-2, וההקשר הנוכחי הוא cluster-1. לא רוצים לשנות את ההקשר הנוכחי. כדי לקבל רשימה של אובייקטים של Pod ב-cluster-2 בלי לשנות את ההקשר הנוכחי, מריצים את הפקודה הבאה:
kubectl get pod --cluster cluster-2