Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Introduction  ›  Lesson

Key Concepts and Terminologies

Key Concepts and Terminologies 12 minA cluster has a control plane (API server, etcd, scheduler, controllers) that decides and nodes (kubelet, container runtime, kube-proxy) that run pods.

Key Concepts and Terminologies

Your first kubectl output is full of words — node, pod, namespace, kubelet. Without a map, every error message reads like a riddle. This lesson is that map.

The rule

A cluster is a brain and some hands: the control plane decides, nodes do.

The cluster is the whole system. It has two halves.

The control plane is the brain:

  • kube-apiserver — the front door. Every command, from you or from inside, goes through it.
  • etcd — a key-value store holding the desired and recorded state of everything.
  • kube-scheduler — picks which node each new pod should run on.
  • kube-controller-manager — runs the control loops that close gaps between wish and reality.

The nodes are the hands — the machines that actually run your containers. Each has:

  • kubelet — an agent that starts the containers the control plane assigned and reports back.
  • container runtime — the engine that really runs containers, such as containerd.
  • kube-proxy — maintains network rules so Service traffic reaches the right pods.

The objects you create:

  • Pod — the smallest unit you deploy: one or more containers that share a network address.
  • Namespace — a named folder that groups objects, like notes for our app.
  • Labels — key-value tags such as app: notes-web; selectors find objects by label.
  • Manifest — a YAML file describing an object; kubectl is the command-line tool that sends it to the API server.
kubectl get pods --namespace notes --selector app=notes-web

The shortcut

For any new word, ask "brain, hands, or thing?" Brain parts decide, hand parts run, and things are what you describe in YAML.

What happens after kubectl applyStep 1 of 4
  1. kubectl → API server (brain)

    kubectl sends the notes-web manifest to kube-apiserver, which checks it.

A common mix-up: the scheduler only chooses a node. It never starts a container itself — that is the kubelet's job.

Drills

Answer fast — trust the rule.

quick drill

Where is the cluster's state stored?

quick drill

Which component actually starts containers on a node?

quick drill

What does --selector app=notes-web do in a kubectl command?

quick drill

A new pod is stuck in Pending with no node assigned. Which component has not placed it yet?

Remember

  • The control plane (API server, etcd, scheduler, controllers) decides; nodes (kubelet, runtime, kube-proxy) do.
  • For any new word ask: brain, hands, or thing?
  • Trap: the scheduler picks the node but the kubelet runs the container.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainFollow a manifest

Trace what happens, component by component, from running kubectl apply -f notes-web.yaml to the notes-web containers running on a node.