Aktualisieren Sie APIServer-Zertifikate für den HA K8S-Cluster

Aktualisieren Sie APIServer-Zertifikate für den HA K8S-Cluster

Ich habe einen HA k8s-Cluster, der von kubeadm erstellt wurde. Ich möchte das API-Serverzertifikat aktualisieren, um zusätzliche SANs hinzuzufügen. Zu diesem Zweck habe ich einige Schritte befolgt, die in einem anderen beschrieben sindPost, aber was ich für den HA-Cluster getan habe:

  • API-Serverzertifikate entferntauf allen Control-Plane-Knoten

  • Aktuelle Kubeadm-Konfigurationskarte abgerufen

kubectl get configmap kubeadm-config \
  --namespace kube-system \
  --output jsonpath={{ .data.ClusterConfiguration }}
  • Erweitern Sie es mit dem erforderlichen Konfigurationsteil
apiServer:
  certSANs:
    - localhost
    - 127.0.0.1
  • Neue Zertifikate mit aktualisierter Konfiguration generiertauf allen Control-Plane-Knoten

kubeadm init phase certs apiserver --config <config_path>

  • API-Servercontainer neu gestartetauf allen Control-Plane-Knoten

  • Aktualisierte In-Cluster-Konfiguration

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

Die Frage ist, ob diese Schritte richtig sind oder ob es einen anderen, einfacheren Weg gibt?

Antwort1

Der schnellste Weg, der mir einfällt, ist dieser:

# 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

Denken Sie daran, dass Sie es auf allen Control-Plain-Knoten ausführen müssen.

verwandte Informationen