全部產品
Search
文件中心

Container Service for Kubernetes:更新ACK專有叢集已到期的認證

更新時間:Jan 23, 2025

當叢集認證到期後,使用kubectl或API介面與叢集API Server的通訊將被禁止,因此無法通過範本部署的方式來自動更新叢集各節點上的到期認證。在這種情況下,叢集管理員可以通過登入各個節點使用docker run啟動容器,以執行目標節點的認證更新任務。

更新Master節點已到期的認證

以Root許可權登入Master節點並執行以下命令,更新Master節點的認證。

docker run -it --privileged=true  -v /:/alicoud-k8s-host --pid host --net host \
  registry.cn-hangzhou.aliyuncs.com/acs/cert-rotate:v1.0.0 /renew/upgrade-k8s.sh --role master
說明

需在叢集的每個Master節點,重複上述步驟,完成所有Master節點的認證更新。

更新Worker節點已到期的認證

  1. 以Root許可權登入任意Master節點並執行以下命令,擷取叢集RootCA私密金鑰。

    cat /etc/kubernetes/pki/ca.key
  2. 執行以下命令,擷取base64編碼後叢集的根私密金鑰。

    • 若擷取的叢集RootCA私密金鑰中有一行空行,執行以下命令:

      sed '1d' /etc/kubernetes/pki/ca.key| base64 -w 0
    • 若擷取的叢集RootCA私密金鑰中無空行,執行以下命令:

      cat /etc/kubernetes/pki/ca.key | base64 -w 0
  3. 以Root許可權登入Worker節點並執行如下命令,更新Worker節點的認證。

    docker run -it --privileged=true  -v /:/alicoud-k8s-host --pid host --net host \
      registry.cn-hangzhou.aliyuncs.com/acs/cert-rotate:v1.0.0 /renew/upgrade-k8s.sh --role node --rootkey ${base64CAKey}
    說明
    • ${base64CAKey}步驟2擷取的通過base64編碼後的叢集根私密金鑰。

    • 在叢集的每個Worker節點重複此步驟,完成所有Worker節點的認證更新。