Cluster Architecture

A Kubernetes cluster has a control plane that makes decisions and worker nodes that run your containers.

A Kubernetes cluster is a set of machines, called nodes, split into two roles.

The control plane

The control plane is the brain of the cluster. It decides what runs where and keeps the desired state. Its main pieces are:

  • kube-apiserver β€” the front door; everything talks to it.
  • etcd β€” a key-value database storing all cluster data.
  • kube-scheduler β€” picks which node a new Pod runs on.
  • kube-controller-manager β€” runs the reconciliation loops.

Worker nodes

Each worker node actually runs your containers. Every node runs:

  • kubelet β€” the agent that starts and watches containers.
  • kube-proxy β€” handles cluster networking rules.
  • A container runtime (such as containerd) that runs the containers.
Kubernetes cluster with a control plane and two worker nodesControl Planekube-apiserveretcd (store)kube-schedulercontroller-managerWorker Node 1kubeletkube-proxyPods (your containers)Worker Node 2kubeletkube-proxyPods (your containers)
The control plane manages the cluster; worker nodes run the Pods.

Example

Example Β· bash
# List the nodes (machines) in your cluster
kubectl get nodes

# Example output:
# NAME       STATUS   ROLES           AGE   VERSION
# control    Ready    control-plane   5d    v1.30.0
# worker-1   Ready    <none>          5d    v1.30.0
# worker-2   Ready    <none>          5d    v1.30.0

When to use it

  • An ops team monitors the kube-apiserver audit logs to track who changed a Deployment configuration in production.
  • A platform engineer adds a new worker node to the cluster so the scheduler can place additional pods on it.
  • A developer inspects etcd backups to restore the last known good cluster state after a configuration incident.

More examples

List control-plane components

Lists every system pod in kube-system, revealing the running control-plane components that manage the cluster.

Example Β· bash
kubectl get pods -n kube-system
# kube-apiserver, etcd, kube-scheduler, kube-controller-manager

Inspect node roles and status

Shows each node's role (control-plane vs worker) and readiness status so you know which nodes can schedule pods.

Example Β· bash
kubectl get nodes -o wide
# NAME           STATUS   ROLES           AGE
# control-plane  Ready    control-plane   10d
# worker-1       Ready    <none>          10d

Describe a worker node

Dumps full details for a worker node including CPU/memory capacity, allocatable resources, and scheduled pod list.

Example Β· bash
kubectl describe node worker-1
# Sections: Conditions, Capacity, Allocatable, Non-terminated Pods

Discussion

  • Be the first to comment on this lesson.
Cluster Architecture β€” Kubernetes | SoundsCode