Module 1 ยท Lesson 1.1
Control Plane vs Nodes
You've run servers before: a box with an OS, some processes, maybe behind a load balancer. Kubernetes takes that same idea and splits it cleanly into two roles.
Control plane vs. nodes
The control plane: the "management layer"
The control plane is the brain. It doesn't run your application โ it decides
where things should run and remembers what you asked for. It's made of a few
cooperating processes, usually on dedicated machines (or, in kind/EKS, containers
acting as machines):
- API server โ the front door. Every
kubectlcommand, every internal component, talks to Kubernetes exclusively through this HTTP API. Think of it as the single reception desk for a building with many departments. - etcd โ a small, consistent key-value database. This is the cluster's only source of truth: every object you create is a record in etcd. If etcd is gone, the cluster's memory is gone.
- Scheduler โ watches for newly created pods with nowhere to run yet, and assigns each one to a node based on resources, constraints, and policy.
- Controller manager โ runs the control loops (more on this in the next lesson) that keep reality matching what you declared.
Nodes: where work actually happens
A node is a worker machine โ a VM or physical box โ running your containers. Every node runs a kubelet, a background process (a daemon, in Linux terms โ the same category as a Windows service: it starts at boot and just keeps running) that takes instructions from the control plane and talks to the local container runtime to actually start and stop containers. Nodes also run kube-proxy, which programs the network rules Services rely on.
The infrastructure analogy
If you've run a traditional web tier: the control plane is like your orchestration and config-management layer (think a very opinionated, self-driving combination of a load balancer's control plane + a CMDB + an auto-remediation script), and nodes are your fleet of app servers. The crucial difference: in Kubernetes, that orchestration layer is always running, continuously comparing what you asked for against what's real โ not something you invoke by hand.
In the lab, you'll stand up a real 3-node cluster and go look at both halves with
your own kubectl.
๐งช Lab: lab-01-explore-control-plane
Preview onlyGoal
Stand up the real cluster you'll use for the rest of the course, and look at both halves of it โ control plane and nodes โ with your own eyes.
This lab has no manifests to apply. It's pure exploration, plus a working cluster at the end, which every later lab depends on.
Tasks
- From the repo root, run
scripts/setup.sh. Fix anything it reports as missing, then re-run it until everything is โ . - Run
scripts/cluster-up.sh. This creates a 3-nodekindcluster namedk8s-course(1 control-plane + 2 workers) and switches yourkubectlcontext to it. - Run
kubectl cluster-infoโ note the API server address it prints. - Run
kubectl get nodes -o wideโ you should see 3 nodes, allReady. - Run
kubectl get pods -n kube-systemโ this is the control plane itself (and a couple of node-level daemons), running as ordinary pods. - Pick the control-plane node's name from step 4 and run
kubectl describe node <name>โ scroll to theConditionsandAllocated resourcessections.
Check
Run the check once all 3 nodes show Ready in step 4.
This lab runs against a real local Kubernetes cluster with an automated grader โ clone the repo and run make start to do it for real.
๐ Quiz
1. Which component is the single entry point that every other piece โ kubectl, the scheduler, the kubelet โ talks through?
2. Where does Kubernetes actually store the state of every object (every Pod, Deployment, Service you create)?
3. A Pod has just been created but has no node assigned yet. Which component's job is it to pick one?
4. You SSH onto a worker node and kill the kubelet process. What happens to the containers that node was already running?scenario
5. In the traditional-infrastructure analogy, the control plane is closest to:
Progress isn't saved in this preview โ run the course locally to track completion and grade labs for real.