Profilanwendbarkeit: Stufe 1 - Worker-Knoten
Aktivieren Sie die Kubelet-Authentifizierung mit Zertifikaten.
Die Verbindungen vom Apiserver zum Kubelet werden zum Abrufen von Protokollen für
Pods, zum Anhängen (über kubectl) an laufende Pods und zur Nutzung der Port-Weiterleitungsfunktionalität
des Kubelets verwendet. Diese Verbindungen enden am HTTPS-Endpunkt des Kubelets. Standardmäßig
überprüft der Apiserver das vom Kubelet bereitgestellte Zertifikat nicht, was die
Verbindung anfällig für Man-in-the-Middle-Angriffe macht und unsicher über unzuverlässige
und/oder öffentliche Netzwerke auszuführen ist. Die Aktivierung der Kubelet-Zertifikatsauthentifizierung
stellt sicher, dass der Apiserver das Kubelet authentifizieren kann, bevor Anfragen
gestellt werden.
![]() |
HinweisStandardmäßig ist das Argument
--client-ca-file 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 jedem Knoten aus:
ps -ef | grep kubelet
Überprüfen Sie, ob das Argument
--client-ca-file
existiert und auf den Speicherort der Client-Zertifikatsbehörde-Datei gesetzt ist.Wenn das Argument
--client-ca-file
nicht vorhanden ist, überprüfen Sie, ob eine Kubelet-Konfigurationsdatei durch --config
angegeben ist und ob die Datei authentication: x509: clientCAFile
auf den Speicherort der Client-Zertifikatsstelle verweist.Wiederherstellung
Wenn Sie eine Kubelet-Konfigurationsdatei verwenden, bearbeiten Sie die Datei, um
authentication: x509: clientCAFile
auf den Speicherort der Client-CA-Datei festzulegen.Wenn Sie Befehlszeilenargumente verwenden, bearbeiten Sie die Kubelet-Dienstdatei
/etc/kubernetes/kubelet.conf
auf jedem Worker-Knoten und setzen Sie den untenstehenden Parameter in der Variablen
KUBELET_AUTHZ_ARGS
.--client-ca-file=<path/to/client-ca-file>
Basierend auf Ihrem System starten Sie den
kubelet
-Dienst neu. Zum Beispiel:systemctl daemon-reload systemctl restart kubelet.service