Skip to main content

More Info:

Disable profiling, if not needed.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, open the kube-controller-manager static pod manifest for editing:
  2. In the spec.containers[0].command (or args) list, add or modify the profiling flag so it is explicitly disabled. Ensure there is only one --profiling entry and it is set to false, for example:
    Remove or correct any existing --profiling=true.
  3. Save the file and exit the editor. Because this is a static pod manifest under /etc/kubernetes/manifests, the kubelet on the control plane node will automatically restart the kube-controller-manager pod to apply the new setting. This causes a brief restart of the controller-manager component.
  4. Wait for the kube-controller-manager pod to be recreated and running:
    or, from any machine with kubectl access:
  5. On every control plane node, verify that the controller-manager process is now running with --profiling=false:
    Confirm the command-line includes --profiling=false and does not contain --profiling=true or an unqualified --profiling flag.
kubectl cannot change the --profiling flag because it is set in the static pod manifest on each control plane node. To remediate this finding, you must edit /etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node as described in the Manual Steps section.

Additional Reading: