Profilanwendbarkeit: Stufe 1 - Masterknoten
Aktivieren Sie die zertifikatbasierte Kubelet-Authentifizierung.
Standardmäßig authentifiziert sich der Apiserver nicht gegenüber den HTTPS-Endpunkten
des Kubelets. Die Anfragen vom Apiserver werden anonym behandelt. Sie sollten eine
zertifikatbasierte Kubelet-Authentifizierung einrichten, um sicherzustellen, dass
sich der Apiserver bei der Übermittlung von Anfragen gegenüber den Kubelets authentifiziert.
![]() |
HinweisStandardmäßig ist die zertifikatbasierte Kubelet-Authentifizierung nicht festgelegt.
|
Auswirkung
Sie müssen TLS sowohl auf dem Apiserver als auch auf den Kubelets konfigurieren.
Prüfung
Führen Sie den folgenden Befehl auf dem Steuerungsknoten aus:
ps -ef | grep kube-apiserver
Überprüfen Sie, ob die Argumente
--kubelet-client-certificate
und --kubelet-client-key
vorhanden sind und korrekt eingestellt wurden.Alternative Prüfverfahren
kubectl get pod -nkube-system -lcomponent=kube-apiserver -o=jsonpath='{range .items[]}{.spec.containers[].command} {"\n"}{end}' | grep '--kubelet-client-certificate' | grep -i false
Wenn der Exit-Code '1' ist, dann ist die Steuerung nicht vorhanden / fehlgeschlagen.
Wiederherstellung
Befolgen Sie die Kubernetes-Dokumentation und richten Sie die TLS-Verbindung zwischen
dem Apiserver und den Kubelets ein. Bearbeiten Sie dann die API-Server-Pod-Spezifikationsdatei
/etc/kubernetes/manifests/kube-apiserver.yaml
auf dem Steuerungsebenenknoten und setzen Sie die Parameter für das Kubelet-Client-Zertifikat
und den Schlüssel wie unten angegeben.--kubelet-client-certificate=<path/to/client-certificate-file> --kubelet-client-key=<path/to/client-key-file>