Courseiva

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.