בדף הזה מוסבר איך לגשת לעומסי העבודה ולמשאבים שלכם במכשיר Google Distributed Cloud (GDC) עם בידוד פיזי ואיך לנהל אותם. במאמר הזה מוסבר איך לבצע אימות, ליצור קובצי kubeconfig לשרת Management API ולאשכול Kubernetes, ואיך לנהל חוסר פעילות בסשן. הבנת התהליכים האלה מבטיחה גישה מאובטחת ומהימנה לפרויקטים ולעומסי העבודה.
אפשר לגשת לעומסי העבודה דרך מסוף GDC או gdcloud CLI.
כניסה
כדי להיכנס למסוף GDC או לאשכול, פועלים לפי השלבים הבאים:
המסוף
כדי לגשת לממשק המשתמש של מכשיר GDC עם פער אבטחה, פותחים את כתובת ה-URL הבאה בכרטיסייה חדשה בדפדפן:
https://GDC_URL
מחליפים את GDC_URL בשם הדומיין שבו אתם משתמשים כדי לגשת ל-GDC, שסופק על ידי מפעיל התשתית (IO). כשפותחים כתובת URL בפעם הראשונה, GDC מפנה אתכם לדף הכניסה של ספק הזהויות אם מפעיל התשתית (IO) הגדיר את הדף.
לדוגמה, הדף הבא מוצג אחרי שנכנסים למסוף עבור ארגון בשם org-1:

CLI
אתם יכולים להיכנס לכל אשכול שיש לכם הרשאה לגשת אליו. תהליך הכניסה ל-CLI זהה לכל האשכולות. צריך לספק רק את שם האשכול ואת קובץ ה-kubeconfig שקשור אליו, ולהיכנס לכל אשכול בנפרד.
לפני שמתחברים, חשוב לוודא ש:
- מורידים את הקובץ הבינארי של gdcloud CLI ומתקינים אותו במערכת. למידע נוסף, אפשר לעיין במאמר בנושא הורדת gdcloud CLI.
- מגדירים ומפעילים את הגדרות ברירת המחדל של CLI של gcloud. חשוב להגדיר את כתובת ה-URL הנכונה של הארגון, שמשמשת לאחזור נקודת הקצה של הגדרת הכניסה. למידע נוסף, ראו התקנת CLI של gcloud.
- מתקינים את ה-CLI של
kubectl, כמו שמתואר במאמר בנושא התקנת רכיבים. - מתקינים את פלאגין האימות
gdcloud-k8s-auth-plugin. מידע נוסף זמין במאמר בנושא אימות ב-CLI של gcloud.
כדי להיכנס לאשכול, מבצעים את השלבים הבאים:
מאמתים את מופע gdcloud CLI כדי להיכנס. יש שתי דרכים לאימות:
כניסה רגילה בדפדפן: משתמשים בתהליך האימות הזה כשנכנסים לחשבון מדפדפן.
gdcloud auth loginכניסה למכשיר משני: משתמשים בתהליך האימות הזה אם במכשיר הראשי אין דפדפן. תהליך הכניסה מתחיל במכשיר הראשי ללא גישה לדפדפן, וממשיך במכשיר המשני עם גישה לדפדפן.
מתחילים את הכניסה במכשיר הראשי בלי דפדפן:
gdcloud auth login --no-browserהפקודה במכשיר הראשי מדפיסה עוד פקודה
gdcloudשצריך להריץ במכשיר המשני בשלב ג'.חוזרים על שלב 1 של כניסה לאשכול כדי להוריד את האישור במכשיר המשני.
משלימים את הכניסה במכשיר המשני על ידי הזנת הפקודה שמופיעה במכשיר הראשי בשלב א.
הפעולה הזו פותחת דפדפן כדי להיכנס לספק הזהויות (IdP) שהוגדר. מזינים את שם המשתמש והסיסמה שהגדרתם במהלך ההגדרה הראשונית של CLI של gcloud כדי להתחבר.
מייצאים את קובץ זהות המשתמש
kubeconfigכמשתנה:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yamlיוצרים קובץ
kubeconfigעם פרטי הזהות של המשתמש:gdcloud clusters get-credentials CLUSTER_NAMEקובץ
kubeconfigנוצר עם זהות המשתמש שלכם. קובץ YAML לדוגמה:apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: falseכדי לוודא שיש לכם גישה לאשכול, מתחברים באמצעות קובץ
kubeconfigשנוצר עם זהות משתמש:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
יציאה מהחשבון
כדי לצאת ממסוף GDC:
המסוף
בסרגל התפריטים, לוחצים על יציאה.

CLI
מתנתקים מה-CLI:
gdcloud auth revoke
יצירה ידנית של קובץ kubeconfig
אם אתם מנהלים משאבים באמצעות kubectl CLI על ידי הפעלת KRM APIs ישירות, אתם צריכים ליצור את קובץ kubeconfig עבור האשכול שמארח את המשאב, בהתאם לסוג המשאב שאתם מנהלים. כדי לדעת איזה קובץ kubeconfig צריך, אפשר לעיין במסמכי התיעוד של המשאב.
משלימים את ההגדרה הרלוונטית בהתאם לסוג המשאב.
משאבי שרת של Management API
כדי ליצור את קובץ ה-kubeconfig לשרת Management API:
מגדירים את משתנה הסביבה
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER="root-admin"יוצרים את קובץ ה-kubeconfig של שרת Management API ומאמתים את פרטי הכניסה:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"הפקודה
rm ${KUBECONFIG:?}מסירה את קובץ ה-kubeconfig הקיים בספריית הבית. כשיוצרים קובץ kubeconfig חדש, הוא מחליף את הקובץ הקיים. אם לא רוצים להחליף או להסיר את הקובץ הקיים, אפשר לגבות אותו במיקום בטוח אחר.
משאבים באשכול Kubernetes
כדי ליצור את קובץ ה-kubeconfig עבור אשכול Kubernetes של Bare Metal:
מגדירים את משתנה הסביבה
KUBERNETES_CLUSTER:export KUBERNETES_CLUSTER="root-infra"יוצרים את קובץ ה-kubeconfig של אשכול Kubernetes ומאמתים את פרטי הכניסה:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"הפקודה
rm ${KUBECONFIG:?}מסירה את קובץ ה-kubeconfig הקיים בספריית הבית. כשיוצרים קובץ kubeconfig חדש, הוא מחליף את הקובץ הקיים. אם לא רוצים להחליף או להסיר את הקובץ הקיים, אפשר לגבות אותו במיקום בטוח אחר.
התנתקות בגלל חוסר פעילות בסשן
אחרי חמש עשרה דקות או יותר של חוסר פעילות בסשן, המערכת מוציאה אתכם מהחשבון במסוף GDC וב-gdcloud CLI. ה-GDC מגדיר חוסר פעילות בסשן כפרק זמן במהלך סשן פתוח שבו לא מתבצעת פעילות אקטיבית מצדכם, כמו תזוזת הסמן או תזוזת המקלדת. סשן פעיל נמשך עד 12 שעות עם פעילות של המשתמש.
המסוף
אם אין פעילות בסשן, המערכת מוציאה אתכם מהחשבון במסוף GDC. שתי דקות לפני שהמערכת מוציאה אתכם מהמסוף של GDC בגלל חוסר פעילות, מוצג לכם תיבת דו-שיח עם אזהרה על היציאה מהחשבון:

אחרי שמתבצעת יציאה מהחשבון בגלל חוסר פעילות, מוצג המסך הבא:

כדי להתחבר מחדש ל-GDC Console, בוחרים את ספק הזהויות ומוסיפים את פרטי הכניסה. אם אתם משתמשים בשירות, כמו לוח הבקרה של המעקב, ומסוף GDC מנתק אתכם בגלל חוסר פעילות, אתם צריכים להתחבר מחדש כדי לקבל גישה.
CLI
אם אין פעילות בסשן, ה-CLI של gcloud מנתק אתכם מהחשבון. אחרי שהמערכת מנתקת אתכם מה-CLI של gcloud, ואתם מנסים להריץ פקודה, מופיעה שגיאת הרשאה:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
כדי להיכנס מחדש ל-CLI של gcloud, פועלים לפי השלבים ל-CLI במאמר כניסה.
kubectl
ה-CLI של gcloud יפוג תוקף של קובצי kubeconfig אחרי חוסר פעילות בסשן. אם מנסים להריץ פקודת kubectl אחרי תקופה של חוסר פעילות,
מוצגת שגיאת הרשאה:
error: You must be logged in to the server (Unauthorized)
כדי להיכנס שוב ולהשתמש בקובץ kubeconfig, פועלים לפי השלבים ל-CLI במאמר כניסה. צריך ליצור מחדש את קובצי ה-kubeconfig בכל פעם שחל טיימ-אאוט של סשן.