CKA Practice Question: Cluster Architecture, Installation and Configuration
What is the function of the 'kube-scheduler' in Kubernetes?
⚠ Common exam trap
It's easy for candidates to confuse the kube-scheduler with kubelet or kube-proxy, but the scheduler's sole role is node selection for pods, not running containers or managing network rules.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
It assigns pods to nodes
The kube-scheduler is a core control plane component that watches for newly created Pods with no assigned node and selects an optimal node for them to run on. It makes scheduling decisions based on resource requirements, constraints like affinity/anti-affinity rules, data locality, and other policies. Option D is correct because the scheduler's primary function is to assign pods to nodes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
It runs the container runtime
Why it's wrong here
Running the container runtime is the job of the node-level kubelet, which talks to a CRI-compliant runtime like containerd or CRI-O to pull images, start containers, and manage their lifecycle. The kube-scheduler is a control-plane component that never executes workloads; its sole responsibility is deciding on which Node a Pod should run, not on running it.
- ✗
It manages network rules for services
Why it's wrong here
Network rules for Services are implemented by kube-proxy, which runs as a DaemonSet on every Node and programs iptables, IPVS, or userspace proxying to route cluster traffic to Service endpoints. The kube-scheduler only makes placement decisions for Pods; it does not handle packet forwarding, load balancing, or any data-plane networking configuration.
- ✗
It stores cluster state
Why it's wrong here
Cluster state is persisted entirely in etcd, a distributed key-value store, and all reads/writes pass through the kube-apiserver; the scheduler does not maintain its own storage. The scheduler reads Pod and Node objects from the API server, computes placement in memory, and writes back a binding, but it never acts as the system of record for cluster state.
- ✓
It assigns pods to nodes
Why this is correct
The kube-scheduler assigns Pods to Nodes by continuously watching the API server for unscheduled Pods (those with an empty spec.nodeName), then filtering Nodes based on constraints like resource requests, taints and tolerations, node selectors, affinity rules, and data locality, and finally scoring the remaining candidates to pick the best fit. Once a Node is chosen, it creates a Binding object that commits the Pod to that Node, after which the kubelet on the selected Node takes over to actually start its containers.
Go deeper
Related to this question
Learn chapter
Kubernetes Architecture Overview
Key term
Ingress Resources
Ingress Resources are Kubernetes API objects that manage external access to services inside a cluster, typically HTTP and HTTPS traffic, by defining rules for routing requests based on hostnames and paths.
Key term
Network Policies
A Kubernetes resource that controls how pods communicate with each other and with other network endpoints, acting as a firewall for pod-to-pod traffic.
About these practice questions
One of 302 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKA practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKA exam.