logo

Kubernetes - kube-scheduler

The Kubernetes scheduler ensures that there are enough resources for all the Pods on a Node.

Node object tracks Node's resource capacity.

The scheduler is a kind of controller. why separate from controler manager? big enough; easy to use an alternative scheduler.

The kube-scheduler pod may look like this:

spec:
  containers:
    - command:
        - kube-scheduler
        - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
        - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
        - --bind-address=127.0.0.1
        - --kubeconfig=/etc/kubernetes/scheduler.conf
        - --leader-elect=true

Note the --authentication-kubeconfig flag, in /etc/kubernetes/scheduler.conf:

users:
  - name: system:kube-scheduler