Bird
Raised Fist0
Kubernetesdevops~20 mins

Control plane components (API server, scheduler, controller manager, etcd) in Kubernetes - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Control Plane Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Role of the Kubernetes API Server
Which statement best describes the primary role of the Kubernetes API server in the control plane?
AIt stores all cluster data and state persistently.
BIt schedules pods onto nodes based on resource availability.
CIt acts as the central management point that exposes the Kubernetes API and processes REST requests.
DIt manages the lifecycle of pods and nodes by running controllers.
Attempts:
2 left
💡 Hint

Think about which component handles communication and API requests in Kubernetes.

💻 Command Output
intermediate
1:30remaining
Output of etcdctl get Command
What is the expected output of the following command if the key 'config/version' exists with value 'v1.20.0' in etcd? etcdctl get config/version
Kubernetes
etcdctl get config/version
Aconfig/version
B
config/version
v1.20.0
CError: key not found
Dv1.20.0
Attempts:
2 left
💡 Hint

Remember etcdctl outputs the key and value by default.

🔀 Workflow
advanced
2:00remaining
Order of Control Plane Components Processing a Pod Creation
Arrange the order in which the Kubernetes control plane components process a pod creation request.
A1,2,4,3
B1,2,3,4
C1,3,2,4
D1,4,2,3
Attempts:
2 left
💡 Hint

Think about when the state is saved and when scheduling happens.

❓ Troubleshoot
advanced
1:30remaining
Identifying the Cause of Pod Scheduling Failure
A pod remains in Pending state indefinitely. Which control plane component is most likely responsible for this issue?
AScheduler is not running or unable to assign the pod to a node.
BAPI Server is down, so pod creation requests are not processed.
CController Manager failed to create the pod on the node.
Detcd has lost cluster state data for the pod.
Attempts:
2 left
💡 Hint

Consider which component decides where pods run.

✅ Best Practice
expert
2:00remaining
Ensuring High Availability of etcd in Kubernetes
What is the best practice to ensure high availability and data consistency of etcd in a Kubernetes cluster?
ADeploy an odd number of etcd instances in a cluster with quorum-based consensus.
BRun a single etcd instance on the master node with frequent backups.
CUse multiple etcd instances but allow them to run independently without synchronization.
DStore etcd data on local disks of worker nodes for faster access.
Attempts:
2 left
💡 Hint

Think about how distributed systems maintain consistency and availability.

Practice

(1/5)
1. Which component of the Kubernetes control plane acts as the main entry point for all REST commands and handles communication with the cluster?
easy
A. etcd
B. Scheduler
C. API server
D. Controller manager

Solution

  1. Step 1: Understand the role of the API server

    The API server is the front door of the Kubernetes control plane. It receives REST requests and processes them.
  2. Step 2: Compare with other components

    The scheduler assigns pods to nodes, the controller manager runs controllers, and etcd stores cluster data. None handle REST communication directly.
  3. Final Answer:

    API server -> Option C
  4. Quick Check:

    API server = main REST entry point [OK]
Hint: API server handles all REST requests to the cluster [OK]
Common Mistakes:
  • Confusing scheduler with API server
  • Thinking controller manager handles REST calls
  • Assuming etcd processes API requests
2. Which of the following is the correct command to check the status of the Kubernetes scheduler component?
easy
A. kubectl get pods -n kube-system | grep scheduler
B. kubectl get nodes --show-scheduler
C. kubectl describe scheduler
D. kubectl get scheduler-status

Solution

  1. Step 1: Identify how to check scheduler status

    The scheduler runs as a pod in the kube-system namespace, so checking pods there helps find it.
  2. Step 2: Analyze each command

    kubectl get pods -n kube-system | grep scheduler lists pods in kube-system and filters for scheduler, which is correct. The other commands are invalid kubectl commands or do not exist.
  3. Final Answer:

    kubectl get pods -n kube-system | grep scheduler -> Option A
  4. Quick Check:

    Scheduler runs as pod, check pods in kube-system [OK]
Hint: Scheduler runs as pod; check pods in kube-system namespace [OK]
Common Mistakes:
  • Using invalid kubectl commands
  • Trying to describe scheduler directly
  • Assuming scheduler is a node property
3. Given the following scenario: The Kubernetes scheduler fails to assign pods to nodes. Which control plane component is most likely responsible for detecting and fixing this issue automatically?
medium
A. API server
B. kubelet
C. etcd
D. Controller manager

Solution

  1. Step 1: Understand the roles of components

    The controller manager runs controllers that watch cluster state and fix issues like unscheduled pods.
  2. Step 2: Identify responsible component for fixing scheduling issues

    When scheduler fails, controller manager detects pods not assigned and may trigger rescheduling or alerts. API server only handles requests, etcd stores data, kubelet runs on nodes.
  3. Final Answer:

    Controller manager -> Option D
  4. Quick Check:

    Controller manager fixes cluster state issues [OK]
Hint: Controller manager fixes cluster state problems automatically [OK]
Common Mistakes:
  • Confusing API server with controller manager
  • Thinking etcd fixes issues
  • Assuming kubelet manages scheduling
4. You notice that the etcd cluster is not storing new data correctly. Which of the following is the most likely cause and fix?
medium
A. etcd disk is full; free up disk space or increase storage
B. Scheduler is overloaded; scale scheduler pods
C. API server is down; restart the API server pods
D. Controller manager crashed; restart controller manager

Solution

  1. Step 1: Identify symptoms related to etcd

    etcd stores cluster data. If it fails to store new data, disk space or storage issues are common causes.
  2. Step 2: Match cause and fix

    API server, scheduler, and controller manager issues do not directly cause etcd storage failure. Disk full on etcd node is the likely cause; freeing space or increasing storage fixes it.
  3. Final Answer:

    etcd disk is full; free up disk space or increase storage -> Option A
  4. Quick Check:

    etcd storage issues = disk full fix [OK]
Hint: etcd storage issues often mean disk full; check storage first [OK]
Common Mistakes:
  • Restarting unrelated components
  • Ignoring disk space on etcd nodes
  • Assuming scheduler affects etcd storage
5. You want to ensure high availability of the Kubernetes control plane. Which combination of components should you deploy in multiple replicas to avoid a single point of failure?
hard
A. Multiple schedulers and controller managers only
B. Multiple API servers and etcd nodes
C. Multiple etcd nodes only
D. Multiple API servers only

Solution

  1. Step 1: Understand high availability needs

    High availability means no single point of failure. Both API servers and etcd store critical data and handle requests.
  2. Step 2: Identify components to replicate

    API servers can run multiple replicas behind a load balancer. etcd must run as a cluster with multiple nodes for data safety. Scheduler and controller manager can be run as leader election but are less critical to replicate for HA.
  3. Final Answer:

    Multiple API servers and etcd nodes -> Option B
  4. Quick Check:

    HA = replicate API servers + etcd nodes [OK]
Hint: Replicate API servers and etcd for control plane high availability [OK]
Common Mistakes:
  • Replicating only schedulers or controller managers
  • Ignoring etcd clustering
  • Assuming API server alone is enough
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard