kube-scheduler.yaml is a static-pod manifest for the control-plane scheduler. It supplies scheduler command-line settings, including authentication and authorization kubeconfig paths, bind address, and leader election. section 8.2.5
Use the manifest as an operational troubleshooting target:
- Check scheduler containers with crictl ps -a | grep scheduler, then inspect failures with crictl logs. section 8.2.5
- Match every referenced file to an existing path; a nonexistent authorization-kubeconfig prevents the scheduler from starting. section 8.2.5
- Restore /etc/kubernetes/scheduler.conf in the authorization setting, then verify that pending pods can schedule. section 8.2.5
root@kind-control-plane:/etc/kubernetes/manifests# cat kube-scheduler.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
component: kube-scheduler
tier: control-plane
name: kube-scheduler
namespace: kube-system
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
(Redacted for brevity)
Inspect the manifest structure and compare authentication, authorization, and general kubeconfig arguments. section 8.2.5
