Ansichten:
Profilanwendbarkeit: Stufe 1
Aktivieren Sie die Rotation des kubelet Client-Zertifikats.
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.
  • Diese Funktion erfordert auch, dass das RotateKubeletClientCertificate-Feature-Gate aktiviert ist.
  • Siehe die GKE-Dokumentation für den Standardwert.

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-config.yaml
  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 Datei kubelet-config.yaml /etc/kubernetes/kubelet/kubelet-config.yaml und setzen Sie den untenstehenden 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 am Ende der KUBELET_ARGS-Variablenzeichenfolge den folgenden Parameter hinzu:
--RotateCertificate=true