憑證輪替

本頁面說明如何在 Google Kubernetes Engine 中執行憑證輪替。

總覽

您可以執行憑證輪替來撤銷叢集的憑證,再發出新憑證。

Google 建議定期使用憑證輪替以縮短憑證生命週期,進一步保護您的 GKE 叢集。

除了輪替憑證以外,憑證輪替功能還能執行 IP 輪替

事前準備

如要準備這項工作,請執行下列步驟:

  • 確認您已啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 確認您已安裝 Cloud SDK
  • 設定預設的專案 ID
    gcloud config set project [PROJECT_ID]
  • 如果您使用區域叢集,請設定預設的運算區域
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 如果您使用地區叢集,請設定預設的運算地區
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud 更新到最新版本:
    gcloud components update

憑證輪替的運作方式

憑證輪替流程包含多個步驟 (包括遷移至新 IP 位址):

  • 啟動憑證輪替時,叢集主要執行個體除了原本的 IP 位址之外,也會開始為新的 IP 位址提供服務。新憑證會發給工作負載和控制層。
  • 啟動輪替之後,您必須更新叢集的 API 用戶端 (例如使用 kubectl 指令列介面的開發機器),開始透過新的 IP 位址與主要執行個體通訊。
  • 完成輪替之後,主要執行個體便會停止透過之前的 IP 位址提供流量,並撤銷舊憑證。

執行憑證輪替

下列各節說明如何執行憑證輪替。

啟動輪替

如要啟動憑證輪替,請執行下列指令。其中:

  1. CLUSTER_NAME 設成叢集名稱。

    CLUSTER_NAME=[CLUSTER_NAME]

  2. 執行下列指令,建立新憑證並將憑證發到控制層。該指令也會設定叢集主要執行個體,為原本的 IP 和新 IP 兩個 IP 位址提供服務。此作業會導致叢集 API 短暫停機。

    gcloud container clusters update ${CLUSTER_NAME} --start-credential-rotation
    

重新設定主要執行個體之後,GKE 會自動更新叢集的節點,以使用新的 IP 和憑證。每個節點集區都會標示為「需要重建」。自動重建完成後,GKE 才會結束憑證輪替。

檢查輪替

如要監控輪替作業,請執行下列指令:

gcloud container operations list | grep "AUTO_UPGRADE_NODES.*RUNNING"

此指令會傳回更新作業的「作業 ID」

如要對作業進行輪詢,請將作業 ID 傳送至下列指令:

gcloud container operations wait [OPERATION_ID]

系統會逐一重建節點集區,每個集區都有各自的作業。如果您有多個節點集區,可依照上述的操作說明,對每個作業進行輪詢。

更新 API 用戶端

啟動憑證輪替後,您必須更新叢集外的所有 API 用戶端 (例如開發人員機器上的 kubectl) 以使用新憑證。

如要更新 API 用戶端,請對每個用戶端執行下列指令:

gcloud container clusters get-credentials [CLUSTER_NAME]

完成輪替

如要完成輪替,請執行下列指令:

  1. CLUSTER_NAME 設成叢集名稱。

    CLUSTER_NAME=[CLUSTER_NAME]

  2. 執行下列指令,將叢集主要執行個體設成只使用新憑證提供服務。此作業會造成叢集 API 短暫停機。

    gcloud container clusters update ${CLUSTER_NAME} --complete-credential-rotation
    

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件