Basics

Component

Simple Definition

Deployment

Manages stateless applications by maintaining a desired number of Pods with rolling updates.

StatefulSet

Manages stateful applications, giving each Pod a unique, persistent identity and storage.

DaemonSet

Ensures a copy of a Pod runs on every node (or a subset), often used for system daemons.

Job

Runs Pods to completion for one-time or batch tasks.

CronJob

Schedules Jobs to run at specified times, like a cron job.

Service

Provides a stable network endpoint (IP/DNS) for accessing a set of Pods.

Ingress

Manages external HTTP/S traffic and routes it to Services based on rules.

ConfigMap

Stores configuration settings (non-sensitive) as key-value pairs for applications.

Secret

Stores sensitive information (passwords, API keys) in base64-encoded form.

Volume

Provides storage that containers in a Pod can use to read/write files.

PersistentVolume (PV)

Defines a piece of storage in the cluster, provisioned manually or dynamically.

PersistentVolumeClaim (PVC)

A request by a user for storage, used by Pods to connect to PVs.

Namespace

Logical separation of cluster resources to isolate environments or teams.

Horizontal Pod Autoscaler (HPA)

Automatically adjusts the number of Pods based on metrics like CPU usage.

Component

Simple Definition

Cluster

A group of machines (nodes) running Kubernetes — includes a control plane and worker nodes.

Node

A single machine (VM or physical) in the cluster — can be a control plane node or worker node.

Control Plane

Manages the Kubernetes cluster — makes global decisions and ensures the desired state.

API Server (kube-apiserver)

The front-end for the Kubernetes control plane — all interactions (via kubectl, UIs, etc.) go through it.

Controller Manager (kube-controller-manager)

Runs controllers that handle background tasks — like node monitoring, replication, and endpoint management.

Scheduler (kube-scheduler)

Decides which node a new Pod should run on, based on resource availability and policies.

etcd

A highly available key-value store used to store all cluster state and configuration data.

Cloud Controller Manager

Connects Kubernetes to your cloud provider (e.g., managing load balancers, nodes, storage).

Worker Node

Runs application workloads (Pods) and is managed by the control plane.

Kubelet

Agent that runs on every node and ensures containers are running as defined in specs.

kube-proxy

Handles network routing on each node — enables service discovery and load balancing within the cluster.

Container Runtime

The software (like containerd, Docker, CRI-O) that actually runs containers on a node.

Last updated