Courseiva

CKA Practice Question: Cluster Architecture, Installation and Configuration

Which component is responsible for running containers on a Kubernetes node?

⚠ Common exam trap

It's easy for candidates to confuse the kubelet with the kube-scheduler or kube-controller-manager, thinking that scheduling or managing controllers is equivalent to running containers, but the kubelet is the only component that directly interacts with the container runtime to execute containers on a node.

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

✓

kubelet

The kubelet is the primary node agent that runs on each Kubernetes node. It is responsible for ensuring that containers are running in a Pod as expected by interacting with the container runtime (e.g., Docker, containerd, CRI-O) via the Container Runtime Interface (CRI). It receives Pod specifications from the API server and manages the lifecycle of the containers accordingly.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    kube-proxy

    Why it's wrong here

    kube-proxy is a network proxy that maintains rules on nodes to handle Service traffic, using iptables or IPVS to route packets to backing pods. It doesn't interact with the container runtime or create any containers; its sole focus is network connectivity and load balancing. The kubelet remains the node agent that actually launches and manages the containers.

  • ✗

    kube-scheduler

    Why it's wrong here

    The kube-scheduler is a control-plane component that selects an appropriate node for pending pods based on resource requests, node affinity, taints, and tolerations, then writes a binding decision to the API server. Its work is purely logical and occurs before any container ever exists; it never invokes runtimes or executes processes. Therefore, it is not responsible for running containers on a node.

  • ✓

    kubelet

    Why this is correct

    The kubelet is the core node agent that takes PodSpecs from the API server or local manifests and uses the Container Runtime Interface to instruct a runtime such as containerd or CRI-O to pull images, create sandboxes, and start containers. It also monitors container health, enforces pod resources, and reports status back to the control plane. Because it is the component that directly drives the runtime, the kubelet is responsible for running containers.

  • ✗

    kube-controller-manager

    Why it's wrong here

    The kube-controller-manager bundles control loops such as ReplicationManager and DeploymentController that reconcile desired state by creating or deleting Pod objects through the API server. These controllers never open a socket or start a process on any node; they only mutate the cluster's desired state. Actual container execution is delegated from the API server to the kubelet, making the controller manager only an indirect orchestrator.

About these practice questions

This CKA question is part of Courseiva's 726-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.