登入

本頁面說明如何存取及管理 Google Distributed Cloud (GDC) 實體隔離裝置中的工作負載和資源。本文說明如何驗證、為管理 API 伺服器和 Kubernetes 叢集產生 kubeconfig 檔案,以及管理工作階段閒置狀態。瞭解這些程序可確保專案和工作負載的存取安全無虞。

透過 GDC 控制台或 gdcloud CLI 存取工作負載。

登入

如要登入 GDC 控制台或叢集,請完成下列步驟:

控制台

在新瀏覽器分頁中開啟下列網址,存取 GDC 氣隙裝置使用者介面 (UI):

https://GDC_URL

GDC_URL 替換為您用來存取 GDC 的網域名稱,該網域名稱由基礎架構營運人員 (IO) 提供。首次開啟任何網址時,如果基礎架構營運商 (IO) 已設定該頁面,GDC 會將您重新導向至身分識別提供者登入頁面。

舉例來說,登入名為 `org-1` 的機構後,會顯示下列頁面: 控制台顯示「org-1」專案的歡迎畫面。

CLI

您可以登入有權存取的任何叢集。所有叢集的 CLI 登入程序都相同。您只需要提供叢集名稱和相關的 kubeconfig 檔案,並分別登入每個叢集。

登入前,請務必完成下列步驟:

  • 下載 gdcloud CLI 二進位檔,並安裝在系統中。 詳情請參閱「下載 gdcloud CLI」。
  • 設定並初始化 gdcloud CLI 預設設定。請務必設定正確的機構網址,這個網址用於擷取登入設定端點。詳情請參閱 gcloud CLI 安裝作業
  • 安裝驗證外掛程式 gdcloud-k8s-auth-plugin。詳情請參閱 gcloud CLI 驗證

如要登入叢集,請完成下列步驟:

  1. 驗證 gcloud CLI 執行個體,然後登入。驗證方式有兩種:

    • 標準瀏覽器登入:從瀏覽器登入時,請使用這個驗證流程。

      gdcloud auth login
      
    • 次要裝置登入:如果主要裝置沒有可用的瀏覽器,請使用這個驗證流程。這個流程會在主要裝置上啟動登入程序 (不需存取瀏覽器),然後在可存取瀏覽器的次要裝置上繼續登入。

      1. 在主要裝置上啟動登入程序,但不要使用瀏覽器:

        gdcloud auth login --no-browser
        

        主要裝置中的指令會列印另一個 gdcloud 指令,您必須在步驟 c 中於次要裝置上執行該指令。

      2. 重複「登入叢集」的步驟 1,在次要裝置上 下載憑證。

      3. 在次要裝置上輸入步驟 a 中主要裝置列印的指令,完成登入程序。

    系統會開啟瀏覽器,讓您登入已設定的身分識別提供者 (IdP)。提供您在初始 gdcloud CLI 設定期間設定的使用者名稱和密碼,即可登入。

  2. 將使用者身分 kubeconfig 檔案匯出為變數:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. 使用使用者身分產生 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
    
  4. 如要確認是否可以存取叢集,請使用產生的 kubeconfig 檔案和使用者身分登入:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

登出

如要登出 GDC 控制台,請按照下列步驟操作:

控制台

按一下選單列中的「登出」

CLI

登出 CLI:

gdcloud auth revoke

手動產生 kubeconfig 檔案

如果您是透過直接呼叫 KRM API,使用 kubectl CLI 管理資源,則必須視您管理的資源類型,為代管資源的叢集產生 kubeconfig 檔案。請參閱資源的 說明文件,判斷您需要的 kubeconfig 檔案。

根據資源類型完成適用的設定。

管理 API 伺服器資源

如要為 Management API 伺服器產生 kubeconfig 檔案,請完成下列步驟:

  1. 設定 MANAGEMENT_API_SERVER 環境變數:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. 產生 Management API 伺服器 kubeconfig 檔案,並驗證憑證:

    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 叢集資源

請按照下列步驟,為 Bare Metal Kubernetes 叢集產生 kubeconfig 檔案:

  1. 設定 KUBERNETES_CLUSTER 環境變數:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. 產生 Kubernetes 叢集 kubeconfig 檔案,並驗證憑證:

    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 檔案時,系統會覆寫現有檔案。如果不想覆寫或移除現有檔案,請將檔案備份到其他安全位置。

工作階段閒置時登出

如果工作階段閒置超過 15 分鐘,GDC 控制台和 gdcloud CLI 會將您登出。GDC 會將工作階段閒置視為一段時間,在此期間,您開啟工作階段但沒有任何互動,例如沒有游標或鍵盤移動。如果使用者有活動,有效工作階段最多可持續十二小時。

控制台

如果工作階段閒置過久,GDC 控制台會將您登出。如果 GDC 控制台因閒置而即將登出,您會在登出前兩分鐘收到警告對話方塊:

控制台 UI 顯示對話方塊,倒數計時器顯示使用者閒置登出前剩餘的 99 秒。

系統因閒置而登出後,會顯示以下畫面:

主控台使用者介面顯示登入畫面,其中包含會話登出橫幅,內有文字:「由於會話閒置時間過長,您已登出系統。請重新登入,或向管理員尋求協助。

如要重新登入 GDC 控制台,請選取身分識別提供者並新增登入憑證。如果您使用監控資訊主頁等服務,且 GDC 控制台因閒置而將您登出,請重新登入以取得存取權。

CLI

如果工作階段處於閒置狀態,gdcloud CLI 會將您登出。gdcloud CLI 登出後,如果您嘗試執行指令,會收到授權錯誤訊息:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

如要重新登入 gcloud CLI,請按照「登入」一節中的 CLI 步驟操作。

kubectl

gdcloud CLI 會在工作階段閒置後,讓 kubeconfig 檔案過期。如果您在閒置一段時間後嘗試執行 kubectl 指令,系統會顯示授權錯誤訊息:

error: You must be logged in to the server (Unauthorized)

如要重新登入並使用 kubeconfig 檔案,請按照「登入」一節中的 CLI 步驟操作。每次工作階段逾時時,您都必須重新產生 kubeconfig 檔案。

監控登入和新使用者活動

登入等活動會匯出為稽核記錄。如要進一步瞭解如何查看稽核記錄,請參閱「稽核記錄」。