Core Kubernetes Definitions¶
Node — A Machine¶
A node is just a machine. Physical server or a VM. It has CPU, RAM, disk. That's it.
Two types:
| Node type | What runs on it | Role |
|---|---|---|
| controlplane | API server, scheduler, controller-manager, etcd | The brain — makes decisions, stores cluster state |
| worker node | Your pods, kubelet, kube-proxy | Where actual workloads run |
Two machines. That's a cluster.
Cluster — A Group of Nodes Treated as One¶
A cluster is multiple machines grouped so Kubernetes can manage them as a single pool of resources. Instead of you deciding "run this app on machine 3", Kubernetes looks at all nodes and decides where to place pods based on available CPU/RAM.
What you gain: if node01 dies, Kubernetes reschedules its pods to controlplane (or another worker). The cluster self-heals.
What you don't gain: if the entire cluster goes down, everything goes with it. For real isolation you need multiple clusters.
Namespace — A Logical Boundary Inside a Cluster¶
A namespace divides one cluster into multiple virtual spaces. Resources in namespace-a are isolated from resources in namespace-b by default.
Think: cluster = hard drive, namespaces = folders. Same hard drive, different folders. If the hard drive dies, all folders go with it — namespaces are not fault isolation.
NAME STATUS
default Active ← where things go if you don't specify
kube-system Active ← Kubernetes system components
kube-public Active ← publicly readable info
kube-node-lease Active ← node heartbeats (internal)
Pod — The Smallest Deployable Unit¶
One or more containers that share a network namespace and storage. Kubernetes schedules pods, not individual containers.
A pod has one IP. Containers inside it talk to each other via localhost.
Deployment — Manages Pods¶
Declares "I want N replicas of this pod always running." Kubernetes maintains that count — if a pod dies, it creates a new one.
Use pods for one-off tasks. Use deployments for anything that should keep running.
Service — Stable Network Endpoint¶
Pods have ephemeral IPs. A Service provides a stable IP + DNS name that routes to matching pods via label selector. Survives pod restarts, scaling, rescheduling.