כניסה לפרויקטים

בדף הזה מוסבר איך לגשת לעומסי העבודה ולמשאבים ב-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:

ממשק המשתמש של מסוף Google Cloud עם מסך הפתיחה של הפרויקט 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:
  1. מייצאים את הנתיב שבו רוצים לאחסן את קובץ ה-kubeconfig של שרת Management API:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    מחליפים את MANAGEMENT_API_SERVER בנתיב לספרייה שבה רוצים לאחסן את קובץ ה-kubeconfig.

  2. מאמתים את המכונה של 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 שמוצג, ומריצים אותו במכונה עם גישה לדפדפן.

  3. פועלים לפי ההוראות בדף האינטרנט כדי להשלים את תהליך ההתחברות.

    אחרי התחברות מוצלחת, בדפדפן תופיע ההודעה Authentication successful. צריך לסגור את החלון הזה.

  4. פועלים לפי ההוראות שמופיעות במסוף. אם ההתחברות הצליחה, תופיע ההודעה You are now logged in.

  • אשכול Kubernetes:
  1. מאמתים את המכונה של gdcloud CLI כדי להיכנס לחשבון. יש שתי דרכים לאימות:

    • התחברות רגילה בדפדפן: משתמשים בתהליך האימות הזה כשמתחברים דרך דפדפן.

      gdcloud auth login
      
    • התחברות למכשיר משני: השתמשו בתהליך האימות הזה אם אין דפדפן זמין במכשיר הראשי. התהליך הזה מתחיל את ההתחברות במכשיר הראשי ללא גישה לדפדפן, וממשיך את ההתחברות במכשיר המשני שיש לו גישה לדפדפן.

      1. מתחילים את תהליך ההתחברות במכשיר הראשי בלי דפדפן:

        gdcloud auth login --no-browser
        

        הפקודה במכשיר הראשי מדפיסה פקודת gdcloud נוספת שצריך להריץ במכשיר המשני בשלב ג'.

      2. חוזרים על שלב 1 כדי להוריד את האישור במכשיר המשני.

      3. משלימים את ההתחברות במכשיר המשני על ידי הזנת הפקודה שהודפסה במכשיר הראשי בשלב א'.

    הפעולה הזו פותחת דפדפן כדי להיכנס לספק הזהויות (IdP) שהוגדר. כדי להיכנס, מזינים את שם המשתמש והסיסמה שהגדרתם במהלך ההגדרה הראשונית של gdcloud CLI.

  2. מייצאים את קובץ ה-kubeconfig של זהות המשתמש בתור משתנה:

    export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yaml
    
  3. יוצרים קובץ 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
    
  4. כדי לוודא שיש לכם גישה לאשכול, היכנסו באמצעות קובץ 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 ברמת האזור:

  1. הצגת כל האזורים הזמינים:

    gdcloud zones list
    

    שימו לב לשם של האזור שמארח את המשאב בהתאמה אישית.

  2. מגדירים את משתנה הסביבה ZONE לאזור שמארח את המשאבים של התחום המוגדר:

    export ZONE="ZONE"
    

    מחליפים את ZONE בשם האזור.

  3. מגדירים את משתנה הסביבה MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    מחליפים את ORG_NAME בשם הארגון, למשל org-1.

  4. יוצרים את קובץ ה-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 האזורי:

  1. הצגת כל האזורים הזמינים:

    gdcloud zones list
    

    שימו לב לשם של האזור שמארח את המשאב בהתאמה אישית.

  2. מגדירים את משתנה הסביבה ZONE לאזור שבו מארחים את אשכול Kubernetes:

    export ZONE="ZONE"
    

    מחליפים את ZONE בשם האזור.

  3. מגדירים את משתנה הסביבה KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    מחליפים את KUBERNETES_CLUSTER_NAME בשם של אשכול Kubernetes.

  4. יוצרים את קובץ ה-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 הגלובלי:

  1. מגדירים את משתנה הסביבה GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. יוצרים את קובץ 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 בגלל חוסר פעילות, מופיעה תיבת דו-שיח עם אזהרה:

ממשק המשתמש של המסוף מציג תיבת דו-שיח עם טיימר של 99 שניות לפני שהמשתמש ינותק בגלל חוסר פעילות.

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

ממשק המשתמש של מסוף Google Cloud עם מסך התחברות ובאנר עם טקסט על ההתנתקות מהסשן: &quot;התנתקת מהמערכת כי הסשן שלך לא היה פעיל במשך יותר מדי זמן. צריך להתחבר שוב או לפנות לאדמין לקבלת עזרה.'

כדי להתחבר מחדש למסוף 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.