מידע על Kubeconfig

הדף הזה מיועד לאדמינים ב-IT ולמפעילים שרוצים להגדיר, לנטר ולנהל תשתית ענן. מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן בתוכן זמין במאמר תפקידים נפוצים של משתמשים ב-GKE ומשימות. Google Cloud

קובץ התצורה של Kubernetes

‫Kubernetes משתמש בקובץ YAML שנקרא kubeconfig כדי לאחסן את פרטי האימות של האשכול עבור kubectl. ‫kubeconfig מכיל רשימה של הקשרים שאליהם מתייחס kubectl כשמריצים פקודות. כברירת מחדל, הקובץ נשמר במיקום $HOME/.kube/config.

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

אחרי שיוצרים אשכול, פועלים לפי ההוראות שבקטע יצירת רשומה של kubeconfig כדי להוסיף את ההקשר של האשכול ל-kubeconfig המקומי.

נקודות קצה פרטיות

לכל האשכולות יש נקודת קצה קנונית. נקודת הקצה חושפת את שרת ה-API של Kubernetes ש-kubectl ושירותים אחרים משתמשים בו כדי לתקשר עם מישור הבקרה של האשכול דרך יציאת TCP‏ 443. ב-Azure, נקודת הקצה הזו היא כתובת IP פרטית אחת שמגובה על ידי מאזן עומסים פנימי – לדוגמה, 10.0.1.5. אי אפשר לגשת לנקודת הקצה הזו באינטרנט הציבורי. אפשר לקבל את כתובת נקודת הקצה של האשכול הפרטי מהשדה endpoint בפלט של הפקודה gcloud container azure clusters describe.

חיבור נקודת קצה של שער

כברירת מחדל, הפקודה gcloud container azure clusters get-credentials יוצרת kubeconfig שמשתמש ב-Connect gateway. במקרה הזה, kubeconfig משתמש ב-Connect, שמעביר את התנועה באופן מאובטח לנקודת הקצה הפרטית בשמכם.kubectl כשמשתמשים בשער Connect, נקודת הקצה נראית כך: https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME, כאשר PROJECT_NUMBER הוא מספר הפרויקט ו-CLUSTER_NAME הוא שם האשכול.

אם יש לכם גישה לנקודת הקצה הפרטית של האשכול דרך ה-VNet, אתם יכולים להתחבר ישירות לנקודת הקצה הפרטית. כדי ליצור kubeconfig באמצעות נקודת הקצה הפרטית, משתמשים בפקודה gcloud container azure clusters get-credentials --private-endpoint.

מידע על אימות ב-kubectl

כל GKE ב-Azure מוגדרים לקבל זהויות של משתמשים וחשבונות שירות, על ידי אימות פרטי הכניסה שמוצגים על ידי kubectl ואחזור כתובת האימייל שמשויכת לזהות של המשתמש או של חשבון השירות. Google Cloudלכן, פרטי הכניסה של החשבונות האלה צריכים לכלול את userinfo.email היקף ההרשאות של OAuth כדי שהאימות יצליח.

כשמשתמשים ב-gcloud כדי להגדיר את kubeconfig של הסביבה עבור אשכול חדש או קיים, gcloud מעניק ל-kubectl את אותם פרטי כניסה שבהם משתמש gcloud עצמו. לדוגמה, אם אתם משתמשים ב-gcloud auth login, פרטי הכניסה האישיים שלכם מסופקים ל-kubectl, כולל היקף ההרשאות userinfo.email. כך אפשר לאמת את לקוח kubectl ב-GKE on Azure.

אחרי שמשתמשים או Google Cloud חשבונות שירות עוברים אימות, הם צריכים גם לקבל הרשאה לבצע פעולה כלשהי ב-GKE ב-Azure. אדמין האשכול אחראי להגדיר את הבקרת הגישה לפי תפקידים המתאימה כדי להגדיר הרשאה.