More Info:
Verifies that the scheduler —profiling argument is set to false so detailed profiling data is not exposed to potential attackers.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
SSH to each control plane node
-
Open the kube-scheduler static pod manifest for editing
-
Set
--profiling=falsein the scheduler container args
In thecontainers:→- name: kube-scheduler→command:orargs:list, ensure there is an entry exactly like:If a line--profiling=true(or any--profiling=) exists, change it to--profiling=false. Save and exit the editor.
Operational impact: editing this file will cause the kubelet to restart thekube-schedulerstatic pod on this node. -
Wait for the kube-scheduler pod to restart and become Ready
From any machine with kubectl access:Wait until the scheduler pod showsSTATUSasRunningandREADYas1/1, then Ctrl+C. -
Verify the scheduler process is running with
--profiling=false
On each control plane node:Confirm the output includes--profiling=falseand does not include--profiling=true.
Using kubectl
Using kubectl
kubectl cannot modify the kube-scheduler static pod manifest or its process flags on the node. To remediate this finding, you must edit
/etc/kubernetes/manifests/kube-scheduler.yaml directly on every control plane node; see the Manual Steps section for exact host-level instructions.Automation
Automation

