Wir haben einen Bare-Metal-K8-Cluster im Einsatz mitWürfelspray, seine Zertifikate laufen bald ab.
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '
Um Zertifikate zu aktualisieren, folgen Sie den Anweisungen inoffizieller Leitfaden.
kubeadm certs renew all
Anschließend wurden die Manifestdateien nacheinander entfernt /etc/kubernetes/manifests/
, aber api-server
nach dem Zurückverschieben des Manifests nach wurde kein Neustart durchgeführt. /etc/kubernetes/manifests
Der Knoten musste manuell neu gestartet werden.
Hier, schlage vor, den Docker-Container neu zu starten.
Meine Fragen sind:
- Was ist der sicherste Weg, Zertifikate zu aktualisieren (Knotenneustart oder Docker-Neustart)?
- Welche Auswirkungen hat dieser Zertifikatsaktualisierungsprozess auf die Leistung?
- Gibt es eine Möglichkeit, die Gültigkeitsdauer des Zertifikats bei der Kubespray-Installation festzulegen?
Kubernetes-Version: 1.18.8
Kubeadm: v1.18.8
Betriebssystem: Ubuntu 18.04
Antwort1
- Alternativ zum temporären Entfernen der Manifestdateien aus /etc/kubernetes/manifests/ und Warten für 20 Sekunden können Sie versuchen, Docker neu zu starten, wie in IhremVerknüpfungIch habe einen ähnlichen Workaround gefundenHier.
-
Wenn ein Update eines Stamm-CA-Zertifikats durchgeführt wird, werden Kubernetes-Komponenten (API-Server, Scheduler, Controller-Manager, Kubelet) und Anwendungs-Pods neu gestartet. Da es sich bei dem Update um ein Rolling Update handelt, funktioniert das System wie gewohnt, es kommt jedoch zu geringfügigen Leistungseinbußen während des Updates. Der Benutzer sollte den Host sequenziell aktualisieren, damit die Auswirkungen minimiert werden können.https://docs.starlingx.io/specs/specs/stx-6.0/approved/security-2008675-kubernetes-rootca-update.html
- Gemäßdieses Problemes sieht so aus, als gäbe es diesen Weg nicht.