Securing kube-scheduler
Next, we look at kube-scheduler. As we have already discussed in Chapter 1, Kubernetes Architecture, kube-scheduler is responsible for assigning a node to a pod. Once the pod is assigned to a node, the kubelet executes the pod. kube-scheduler first filters the set of nodes on which the pod can run, then, based on the scoring of each node, it assigns the pod to the filtered node with the highest score. Compromise of the kube-scheduler component impacts the performance and availability of the pods in the cluster.
To secure kube-scheduler, you should do the following:
- Disable profiling: Profiling of
kube-schedulerexposes system details. Setting--profilingtofalsereduces the attack surface. - Disable external connections to kube-scheduler: External connections should be disabled for
kube-scheduler.AllowExtTrafficLocalEndpointsis set totrue, enabling external connections tokube-scheduler. Ensure that this feature is disabled using--feature...