Ansichten:
Profilanwendbarkeit: Stufe 1
Aktivieren Sie die Rotation des Client-Zertifikats für Kubelet.
Hinweis
Hinweis
Siehe die Amazon EKS-Dokumentation für den Standardwert.
Die Einstellung --rotate-certificates bewirkt, dass der Kubelet seine Client-Zertifikate durch das Erstellen neuer CSRs dreht, wenn seine bestehenden Anmeldedaten ablaufen. Diese automatisierte periodische Drehung stellt sicher, dass es keine Ausfallzeiten aufgrund abgelaufener Zertifikate gibt und somit die Verfügbarkeit im CIA (Vertraulichkeit, Integrität und Verfügbarkeit) Sicherheitsdreieck gewährleistet wird.
Hinweis
Hinweis
Diese Empfehlung gilt nur, wenn Sie kubelets ihre Zertifikate vom API-Server beziehen lassen. Falls Ihre kubelet-Zertifikate von einer externen Behörde/Tool (z.B. Vault) stammen, müssen Sie die Rotation selbst implementieren.
Hinweis
Hinweis
Diese Funktion erfordert auch das RotateKubeletClientCertificate-Feature-Gate.

Prüfung

  1. SSH zu jedem Knoten und führen Sie den folgenden Befehl aus, um den Kubelet-Prozess zu finden:
    ps -ef | grep kubelet
  2. Wenn die Ausgabe des obigen Befehls das ausführbare Argument --RotateCertificate enthält, überprüfen Sie, ob es auf true gesetzt ist.
  3. Wenn die Ausgabe des obigen Befehls das ausführbare Argument --RotateCertificate nicht enthält, überprüfen Sie die Kubelet-Konfigurationsdatei. Die Ausgabe des obigen Befehls sollte etwas Ähnliches wie --config /etc/kubernetes/kubelet/kubelet-config.json zurückgeben, was den Speicherort der Kubelet-Konfigurationsdatei darstellt.
  4. Öffnen Sie die Kubelet-Konfigurationsdatei:
    cat /etc/kubernetes/kubelet/kubelet-config.json
  5. Überprüfen Sie, ob das Argument RotateCertificate nicht vorhanden ist oder auf true gesetzt ist.

Wiederherstellung

Behebungsmethode 1
Wenn Sie die Kubelet-Konfigurationsdatei ändern, bearbeiten Sie die kubelet-config.json-Datei /etc/kubernetes/kubelet/kubelet-config.json und setzen Sie den folgenden Parameter auf true:
"RotateCertificate":true
Stellen Sie außerdem sicher, dass die Kubelet-Dienstdatei /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf das ausführbare Argument --RotateCertificate nicht auf false setzt, da dies die Kubelet-Konfigurationsdatei überschreiben würde.
Behebungsmethode 2
Wenn ausführbare Argumente verwendet werden, bearbeiten Sie die kubelet-Dienstdatei /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf auf jedem Worker-Knoten und fügen Sie den untenstehenden Parameter am Ende der KUBELET_ARGS-Variablenzeichenfolge hinzu:
--RotateCertificate=true