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

gdcloud
כשנכנסים ל-gdcloud CLI, צריך להשתמש בפקודה gdcloud auth login כדי לאמת ישות מורשית ב-gdcloud CLI. ה-gdcloud CLI משתמש בישות המורשית הזו לאימות ולהרשאה כדי לנהל את המשאבים והשירותים של Google Cloud .
לפני שאתם נכנסים לחשבון, חשוב לוודא שביצעתם את הפעולות הבאות:
- מורידים את הקובץ הבינארי של gdcloud CLI ומתקינים אותו במערכת. מידע נוסף זמין במאמר הורדת ה-CLI של gdcloud.
- מגדירים ומפעילים את הגדרת ברירת המחדל של gdcloud CLI. חשוב להגדיר את כתובת ה-URL הנכונה של הארגון, שמשמשת לאחזור נקודת הקצה (endpoint) של הגדרות ההתחברות. מידע נוסף זמין במאמר התקנת gdcloud CLI.
- מתקינים את ה-CLI של kubectl.
- מתקינים את פלאגין האימות
gdcloud-k8s-auth-plugin. מידע נוסף מופיע במאמר אימות ב-gdcloud CLI.
כדי להיכנס לשרת Management API או לאשכול Kubernetes:
- שרת Management API:
מייצאים את הנתיב שבו רוצים לאחסן את קובץ ה-kubeconfig של שרת Management API:
export KUBECONFIG=MANAGEMENT_API_SERVERמחליפים את MANAGEMENT_API_SERVER בנתיב לספרייה שבה רוצים לאחסן את קובץ ה-kubeconfig.
מאמתים את המכונה של gdcloud CLI כדי להיכנס לחשבון. יש שתי דרכים לאימות:
התחברות רגילה בדפדפן: משתמשים בתהליך האימות הזה כשמתחברים דרך דפדפן.
gdcloud auth loginהתחברות למכשיר משני: השתמשו בתהליך האימות הזה אם אין דפדפן זמין במכשיר הראשי. התהליך הזה מתחיל את ההתחברות במכשיר הראשי ללא גישה לדפדפן, וממשיך את ההתחברות במכשיר המשני שיש לו גישה לדפדפן.
מתחילים את תהליך ההתחברות במכשיר הראשי בלי דפדפן:
gdcloud auth login --no-browserמשתנה הסביבה
KUBECONFIGמתעדכן עם קובצי kubeconfig לכל שרתי ה-API והאשכולות בארגון. אם המשתנהKUBECONFIGלא מוגדר, ה-CLI של kubectl משתמש בקובץ ברירת המחדל של kubeconfig שמאוחסן ב-$HOME/.kube/config.כדי לדלג על עריכת קובצי kubeconfig, מוסיפים לפקודה את הדגל
--skip-kubeconfig-update. לדוגמה:gdcloud auth login --no-browser --skip-kubeconfig-updateמעתיקים את פלט הפקודה של gdcloud CLI שמוצג, ומריצים אותו במכונה עם גישה לדפדפן.
פועלים לפי ההוראות בדף האינטרנט כדי להשלים את תהליך ההתחברות.
אחרי התחברות מוצלחת, בדפדפן תופיע ההודעה Authentication successful. צריך לסגור את החלון הזה.
פועלים לפי ההוראות שמופיעות במסוף. אם ההתחברות הצליחה, תופיע ההודעה You are now logged in.
- אשכול Kubernetes:
מאמתים את המכונה של gdcloud CLI כדי להיכנס לחשבון. יש שתי דרכים לאימות:
התחברות רגילה בדפדפן: משתמשים בתהליך האימות הזה כשמתחברים דרך דפדפן.
gdcloud auth loginהתחברות למכשיר משני: השתמשו בתהליך האימות הזה אם אין דפדפן זמין במכשיר הראשי. התהליך הזה מתחיל את ההתחברות במכשיר הראשי ללא גישה לדפדפן, וממשיך את ההתחברות במכשיר המשני שיש לו גישה לדפדפן.
מתחילים את תהליך ההתחברות במכשיר הראשי בלי דפדפן:
gdcloud auth login --no-browserהפקודה במכשיר הראשי מדפיסה פקודת
gdcloudנוספת שצריך להריץ במכשיר המשני בשלב ג'.חוזרים על שלב 1 כדי להוריד את האישור במכשיר המשני.
משלימים את ההתחברות במכשיר המשני על ידי הזנת הפקודה שהודפסה במכשיר הראשי בשלב א'.
הפעולה הזו פותחת דפדפן כדי להיכנס לספק הזהויות (IdP) שהוגדר. כדי להיכנס, מזינים את שם המשתמש והסיסמה שהגדרתם במהלך ההגדרה הראשונית של gdcloud CLI.
מייצאים את קובץ ה-kubeconfig של זהות המשתמש בתור משתנה:
export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yamlיוצרים קובץ kubeconfig לאשכול אזורי עם זהות המשתמש שלכם:
gdcloud clusters get-credentials CLUSTER_NAME --zone ZONEמחליפים את
ZONEבשם האזור.נוצר קובץ 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:
המסוף
בסרגל התפריטים, לוחצים על Logout (התנתקות).

gdcloud
יוצאים מה-CLI:
gdcloud auth revoke
יצירה ידנית של קובץ kubeconfig
אם אתם מנהלים משאבים באמצעות ה-CLI של kubectl על ידי קריאה ישירה לממשקי ה-API של KRM, אתם צריכים ליצור את קובץ ה-kubeconfig לאשכול או לשרת ה-API שמארח את המשאב, בהתאם לסוג המשאב שאתם מנהלים.
אתם גם צריכים להכיר את ההגדרות של סביבת GDC כדי לקבוע לאילו אזורים אתם מתכוונים לפרוס את המשאבים של התחום המוגדר, או את שרת ה-API הגלובלי למשאבים גלובליים. מידע נוסף זמין במאמר שרתי API גלובליים ואזוריים.
בודקים אם המשאב שאתם משנים הוא גלובלי או של תחום מוגדר. אם אתם לא בטוחים, תוכלו להיעזר במסמכי העזרה הייעודיים של המשאב.
משלימים את ההגדרה הרלוונטית בהתאם לסוג המשאב.
משאבי שרת של Zonal Management API
כדי ליצור את קובץ ה-kubeconfig לשרת Management API ברמת האזור:
הצגת כל האזורים הזמינים:
gdcloud zones listשימו לב לשם של האזור שמארח את המשאב בהתאמה אישית.
מגדירים את משתנה הסביבה
ZONEלאזור שמארח את המשאבים של התחום המוגדר:export ZONE="ZONE"מחליפים את
ZONEבשם האזור.מגדירים את משתנה הסביבה
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER="ORG_NAME-admin"מחליפים את
ORG_NAMEבשם הארגון, למשלorg-1.יוצרים את קובץ ה-kubeconfig של שרת Management API לאזור היעד, ומאמתים את פרטי הכניסה:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"הפקודה
rm ${KUBECONFIG:?}מסירה את קובץ kubeconfig הקיים בספריית הבית. כשיוצרים קובץ kubeconfig חדש, הוא מחליף את הקובץ הקיים. אם אתם לא רוצים להחליף או להסיר את הקובץ הקיים, אתם יכולים לגבות אותו במיקום בטוח אחר.
משאבים של אשכולות Kubernetes אזוריים
כדי ליצור את קובץ ה-kubeconfig לאשכול Kubernetes האזורי:
הצגת כל האזורים הזמינים:
gdcloud zones listשימו לב לשם של האזור שמארח את המשאב בהתאמה אישית.
מגדירים את משתנה הסביבה
ZONEלאזור שבו מארחים את אשכול Kubernetes:export ZONE="ZONE"מחליפים את
ZONEבשם האזור.מגדירים את משתנה הסביבה
KUBERNETES_CLUSTER:export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"מחליפים את
KUBERNETES_CLUSTER_NAMEבשם של אשכול Kubernetes.יוצרים את קובץ ה-kubeconfig של אשכול Kubernetes למשתנה האזור המטורגט, ומאמתים את פרטי הכניסה:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"הפקודה
rm ${KUBECONFIG:?}מסירה את קובץ kubeconfig הקיים בספריית הבית. כשיוצרים קובץ kubeconfig חדש, הוא מחליף את הקובץ הקיים. אם אתם לא רוצים להחליף או להסיר את הקובץ הקיים, אתם יכולים לגבות אותו במיקום בטוח אחר.
משאבים גלובליים של שרת API
כדי ליצור את קובץ ה-kubeconfig לשרת ה-API הגלובלי:
מגדירים את משתנה הסביבה
GLOBAL_API_SERVER:export GLOBAL_API_SERVER="global-api"יוצרים את קובץ kubeconfig של שרת ה-API הגלובלי ומאמתים את פרטי הכניסה:
export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?} [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"הפקודה
rm ${KUBECONFIG:?}מסירה את קובץ kubeconfig הקיים בספריית הבית. כשיוצרים קובץ kubeconfig חדש, הוא מחליף את הקובץ הקיים. אם אתם לא רוצים להחליף או להסיר את הקובץ הקיים, אתם יכולים לגבות אותו במיקום בטוח אחר.
התנתקות מהסשן בגלל חוסר פעילות
אחרי 15 דקות או יותר של חוסר פעילות בסשן, המערכת מוציאה אתכם מהחשבון במסוף GDC וב-gdcloud CLI. ב-Distributed Cloud, חוסר פעילות בסשן נחשב לפרק זמן במהלך סשן פתוח שבו אין מעורבות פעילה מצדכם, למשל כשאין תנועה של הסמן או המקלדת. סשן פעיל נמשך עד 12 שעות עם פעילות משתמש.
המסוף
אם הסשן לא פעיל, מסוף GDC מוציא אתכם מהחשבון. שתי דקות לפני שהמערכת מוציאה אתכם ממסוף GDC בגלל חוסר פעילות, מופיעה תיבת דו-שיח עם אזהרה:

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

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