HA k8s クラスターの API サーバー証明書を更新する

HA k8s クラスターの API サーバー証明書を更新する

kubeadmで作成したHA k8sクラスターがあります。APIサーバー証明書を更新してSANを追加したいと思います。この目的のために、別の記事で説明されている手順に従いました。役職しかし、HA クラスターに対して私が行ったことは次のとおりです。

  • APIサーバー証明書を削除しましたすべてのコントロールプレーンノードで

  • 現在のkubeadm configmapを取得しました

kubectl get configmap kubeadm-config \
  --namespace kube-system \
  --output jsonpath={{ .data.ClusterConfiguration }}
  • 必要な設定部分を拡張しました
apiServer:
  certSANs:
    - localhost
    - 127.0.0.1
  • 更新された構成で新しい証明書を生成しましたすべてのコントロールプレーンノードで

kubeadm init phase certs apiserver --config <config_path>

  • APIサーバーコンテナを再起動しましたすべてのコントロールプレーンノードで

  • クラスタ内の構成を更新しました

kubeadm init phase upload-config kubeadm --config <config_path>

問題は、これらの手順が正しいのか、それとももっと簡単な方法があるのか​​ということです。

答え1

私が思いついた最も早い方法は次のとおりです。

# remove current apiserver certificates
sudo rm /etc/kubernetes/pki/apiserver.*

# generate new certificates
sudo kubeadm init phase certs apiserver --apiserver-cert-extra-sans=localhost,127.0.0.1

すべてのコントロールプレーンノードで実行する必要があることに注意してください。

関連情報