KCNA Kubernetes Architecture & Components 2 — Questions and Answers
Question 1: Which component is responsible for watching for newly created Pods with no assigned node and selecting a node for them to run on?
- kube-controller-manager
- kube-scheduler (Correct answer)
- kubelet
- kube-apiserver
Correct answer: kube-scheduler
The kube-scheduler watches for newly created Pods and selects the best node for them based on resource requirements and constraints.
Question 2: What is the primary function of etcd in a Kubernetes cluster?
- Running containerized workloads
- Serving as a consistent and highly-available key-value store for all cluster data (Correct answer)
- Routing network traffic between pods
- Managing container images
Correct answer: Serving as a consistent and highly-available key-value store for all cluster data
etcd is a distributed key-value store that serves as Kubernetes' backing store for all cluster state and configuration data.
Question 3: Which Kubernetes component runs on every node and ensures containers are running in a Pod?
- kube-proxy
- kube-scheduler
- kubelet (Correct answer)
- kube-controller-manager
Correct answer: kubelet
The kubelet is a node agent that runs on every node and ensures the containers described in PodSpecs are running and healthy.
Question 4: What does the Node Controller in kube-controller-manager do when a node becomes unreachable?
- Immediately deletes all Pods on the node
- Marks the node as NotReady and eventually evicts Pods after a timeout (Correct answer)
- Reschedules Pods to other nodes instantly
- Shuts down the cluster
Correct answer: Marks the node as NotReady and eventually evicts Pods after a timeout
The Node Controller marks unreachable nodes as NotReady and, after a configurable eviction timeout (default 5 minutes), evicts Pods from those nodes.
Question 5: Which communication pattern does the kubelet use to report node and pod status?
- kubelet pushes status to etcd directly
- kubelet pulls instructions from etcd and updates nodes
- kubelet reports to the kube-apiserver via HTTPS (Correct answer)
- kubelet receives commands only from kube-scheduler
Correct answer: kubelet reports to the kube-apiserver via HTTPS
The kubelet communicates with the kube-apiserver over HTTPS, both to receive Pod specs and to report status updates.
Question 6: In a highly available Kubernetes control plane, how is leader election typically handled for kube-controller-manager?
- All instances run actively and merge their changes
- One instance is elected leader via a lease object; others remain on standby (Correct answer)
- etcd automatically designates one instance as primary
- The kube-scheduler picks the leader
Correct answer: One instance is elected leader via a lease object; others remain on standby
kube-controller-manager uses leader election with Kubernetes Lease objects so only one instance is active at a time while others remain on standby.
Question 7: What is the role of the cloud-controller-manager in Kubernetes?
- Manages container runtimes on cloud nodes
- Integrates cloud-provider-specific control logic separate from the core Kubernetes binary (Correct answer)
- Handles DNS resolution for cloud services
- Manages TLS certificates for the cluster
Correct answer: Integrates cloud-provider-specific control logic separate from the core Kubernetes binary
The cloud-controller-manager embeds cloud-specific control loops (node, route, service) to allow cloud providers to release features independently of the Kubernetes core.
Which component is responsible for watching for newly created Pods with no assigned node and selecting a node for them to run on?