すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACK専用クラスターの期限切れ証明書の更新

最終更新日:Jan 24, 2025

Kubernetesクラスターのノードで使用されている証明書の有効期限が切れた場合、kubectlを使用するか、API操作を呼び出してクラスターAPIサーバーと通信することはできません。 期限切れの証明書は、テンプレートの展開に基づいて自動的に更新できません。 証明書を更新するには、各ノードにログインしてdocker runコマンドを実行します。

各マスターノードで期限切れの証明書を更新する

rootユーザーとしてマスターノードにログインし、次のコマンドを実行してマスターノードの証明書を更新します。

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
説明

各クラスターマスターノードで上記の手順を繰り返して、すべてのマスターノードの証明書を更新します。

ワーカーノードで期限切れの証明書を更新する

  1. rootユーザーとしてマスターノードにログインし、次のコマンドを実行してクラスター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ユーザーとしてログインし、次のコマンドを実行してワーカーノードの証明書を更新します。

    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} は、Base64形式でエンコードされたクラスタールート秘密鍵を指定します。 ${base64CAKey} の値は、ステップ2で返されます。

    • クラスター内の各ワーカーノードで上記の手順を繰り返して、すべてのワーカーノードの証明書を更新します。