Kubernetes の手動証明書更新 - apiserver 証明書の更新に失敗しました

Kubernetes の手動証明書更新 - apiserver 証明書の更新に失敗しました

ベアメタルk8クラスタをデプロイしました。キューブスプレー、その証明書はまもなく期限切れになります。

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '

証明書を更新するには、公式ガイド

kubeadm certs renew all

その後、 のマニフェスト ファイルを/etc/kubernetes/manifests/1 つずつ削除しましたが、api-serverマニフェストを に戻した後、再起動しなかったため/etc/kubernetes/manifests、ノードを手動で再起動する必要がありました。

ここ、Docker コンテナを再起動することをお勧めします。

私の質問は次のとおりです:

  1. 証明書を更新する最も安全な方法は何ですか (ノードの再起動または docker の再起動)。
  2. この証明書更新プロセス中のパフォーマンスへの影響はどのようなものですか?
  3. Kubespray インストールで証明書の有効期間を定義する方法はありますか?

Kubernetes バージョン: 1.18.8
Kubeadm: v1.18.8
OS: Ubuntu 18.04

答え1

  1. あるいは、/etc/kubernetes/manifests/からマニフェストファイルを一時的に削除して20秒待つか、リンク同様の回避策を見つけましたここ
  2. ルート CA 証明書の更新が進行中の場合、Kubernetes コンポーネント (apiserver、scheduler、controller-manager、kubelet) とアプリケーション ポッドが再起動されます。更新はローリング更新であるため、システムは通常どおり機能しますが、更新中はパフォーマンスに若干の影響があります。影響を最小限に抑えるために、ユーザーはホストを順番に更新する必要があります。https://docs.starlingx.io/specs/specs/stx-6.0/approved/security-2008675-kubernetes-rootca-update.html

  3. に従ってこの問題そのような方法はないようです。

関連情報