Skip to main content

More Info:

The kubelet —tls-cert-file and —tls-private-key-file arguments should be set so the kubelet serves its API over TLS with a valid certificate. Without them, kubelet traffic may be unencrypted.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS OKE

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, check the current kubelet process arguments to confirm the flags are missing or incorrect:
  2. On every worker node, open the kubelet systemd drop-in config for editing:
  3. In the opened file, locate the line starting with ExecStart= and ensure it includes the following flags (add or correct them within the existing line, preserving other arguments):
    For example, the ExecStart= line should contain (example only; keep your other flags):
  4. On every worker node, reload systemd and restart kubelet (this will restart the kubelet and may briefly impact node scheduling/registration):
  5. On every worker node, check that kubelet is healthy:
  6. On every worker node, verify that the kubelet is now running with the correct TLS certificate and key arguments:
    Confirm the output shows:
kubectl cannot modify kubelet process flags or host-level config files, so this finding cannot be fixed via Kubernetes API objects. The correction must be done on each worker node’s OS (editing /etc/systemd/system/kubelet.service.d/00-default.conf and related files); follow the Manual Steps section for the exact procedure.