驗證登入

確認您可以使用 GDC 控制台或 gdcloud CLI 登入。

登入

如要登入 Distributed Cloud,請完成下列步驟:

控制台

在新瀏覽器分頁中開啟下列網址,即可存取 Distributed Cloud 使用者介面:

https://GDC_URL

GDC_URL 改為基礎架構營運商 (IO) 設定網域名稱系統 (DNS) 服務時使用的網域名稱。

首次開啟任何網址時,系統會將您重新導向至身分提供者登入頁面。登入時請使用您先前建立的使用者名稱和密碼。

CLI

登入 gdcloud CLI 時,請使用 gdcloud auth login 指令,向 gdcloud CLI 驗證主體。gdcloud CLI 會使用該主體進行驗證和授權,以管理 Google Cloud 資源和服務。

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

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

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

  1. 匯出要儲存叢集 kubeconfig 檔案的路徑:

      export KUBECONFIG=CLUSTER_KUBECONFIG
    

    CLUSTER_KUBECONFIG 替換為要儲存 kubeconfig 檔案的目錄路徑。

  2. 驗證 gcloud CLI 執行個體以登入。驗證方式有兩種:

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

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

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

        gdcloud auth login --no-browser
      

      KUBECONFIG 環境變數會更新機構中所有 API 伺服器和叢集的 kubeconfig 檔案。如果未設定 KUBECONFIG 變數,kubectl CLI 會使用儲存在 $HOME/.kube/config 中的預設 kubeconfig 檔案。

      如要略過編輯 kubeconfig 檔案,請在指令中加入 --skip-kubeconfig-update 標記。例如:

        gdcloud auth login --no-browser --skip-kubeconfig-update
      

      複製列印的 gdcloud CLI 指令輸出內容,並在可存取瀏覽器的機器上執行。

  3. 按照網頁上的操作說明完成登入程序。

    登入完成後,瀏覽器會顯示「驗證成功。請關閉這個視窗

  4. 按照終端機上的指示操作。登入成功後,終端機會顯示「You are now logged in」(你已登入) 訊息。

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

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

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

登出

如要驗證登出作業,請按照下列步驟操作:

控制台

如要登出網頁版 UI,請按一下選單列中的 「登出」

CLI

登出 CLI:

gdcloud auth revoke

手動產生 kubeconfig 檔案

如果您是透過直接呼叫 KRM API,使用 kubectl CLI 管理資源,則必須視您管理的資源類型,為代管資源的叢集產生 kubeconfig 檔案。可用的叢集和伺服器如下:

叢集 名稱
根管理員叢集 root-admin
根層級全域 API 伺服器 global-api
機構管理員叢集 (第 1 版機構) ORG_NAME-admin
系統叢集 (第 1 版機構) ORG_NAME-system
機構基礎架構叢集 (第 2 版機構) ORG_NAME-infra
管理 API 伺服器 (第 2 版機構) ORG_NAME-admin
機構管理員全域 API 伺服器 global-api
使用者叢集 CLUSTER_NAME

您也必須瞭解 GDC 宇宙設定,判斷要將區域資源部署至哪些區域,或是全域資源的全域 API 伺服器。詳情請參閱「全球和區域 API 伺服器」。

判斷您要操控的資源是全球還是區域資源。如果不確定,請參閱該資源的專屬說明文件。

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

可用區資源

請完成下列步驟,為區域叢集產生 kubeconfig 檔案:

  1. 查看所有可用區域:

    gdcloud zones list
    

    記下代管自訂資源的區域名稱。

  2. ZONE 環境變數設為代管區域資源的可用區:

    export ZONE="ZONE"
    

    ZONE 替換為區域名稱。

  3. 設定 CLUSTER 環境變數:

    export CLUSTER="CLUSTER_NAME"
    

    CLUSTER_NAME 替換為代管資源的叢集名稱。

  4. 為目標可用區產生叢集 kubeconfig 檔案,並驗證憑證:

    export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    rm ${KUBECONFIG:?} 指令會移除主目錄中現有的 kubeconfig 檔案。即使沒有明確移除現有的 kubeconfig 檔案,新產生的 kubeconfig 檔案也會覆寫現有檔案。如果不想覆寫或移除現有檔案,請將檔案備份到其他安全位置。

全球性資源

請完成下列步驟,為全域 API 伺服器產生 kubeconfig 檔案:

  1. 設定 GLOBAL_API_SERVER 環境變數:

    export GLOBAL_API_SERVER="global-api"
    
  2. 產生全域 API 伺服器 kubeconfig 檔案,並驗證憑證:

    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 檔案,新產生的 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 檔案。