When scheduler is not required

The main task of scheduler is to schedule pod
For the specific process, please refer to the kubernetes pod creation process
In several cases, kubernetes can bypass the scheduler and create a pod directly

  • NodeName is specified when creating a pod
  • Pod created by daemon set daemonset (daemonset specifies nodeName, so it is the same as the first one)
  • Static pod

Further explanation

The pod created by the daemon set can run before the scheduler starts

The pod created by the daemon set can not comply with the unscheduled of the node

The pod created by the daemon set has a higher priority, the demodulator will avoid expelling it, and the autoscaler will manage them separately

Static pod is similar to daemon set. Kubelet can not only communicate with kubernetes API server and obtain pod description file, but also obtain resource definition from local directory. The pod defined in this way can only be managed by kubelet and can only run on one node.

API services do not monitor these pods, and they do not have controllers or perform health checks on them. Kubelet monitors these pods and restarts them when they crash.

Kubelet also periodically scans the configuration directory to find changes to pod definitions, and adds or removes pods accordingly
Send a Message