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-scheduler
exposes system details. Setting--profiling
tofalse
reduces the attack surface. - Disable external connections to kube-scheduler: External connections should be disabled for
kube-scheduler
.AllowExtTrafficLocalEndpoints
is set totrue
, enabling external connections tokube-scheduler
. Ensure that this feature is disabled using--feature...