This glossary organizes core terms needed for Kubernetes learning and operations.
A-C#
Cluster#
The entire Kubernetes environment composed of multiple nodes (machines). It consists of one Control Plane and multiple Worker Nodes.
ConfigMap#
A resource that stores configuration data as key-value pairs. Can be injected into Pods as environment variables or configuration files.
Container#
An isolated execution environment that packages an application and its dependencies. Docker containers are the most representative.
Container Runtime#
Software that runs containers. Examples include containerd and CRI-O. Kubernetes no longer directly supports Docker since version 1.24.
Control Plane#
Components that manage the state of the cluster. Consists of API Server, etcd, Scheduler, and Controller Manager.
CronJob#
A Job that runs repeatedly according to a specified schedule. Uses cron-like schedule syntax similar to Linux cron.
D-H#
DaemonSet#
A workload that runs one Pod on all nodes (or specific nodes). Primarily used for log collection and monitoring agents.
Deployment#
A workload that manages declarative updates of Pods. Creates ReplicaSets and supports rolling updates and rollbacks.
# Example: Deployment managing 3 nginx Pods
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25etcd#
A distributed key-value store that holds all Kubernetes cluster state. Clustered in odd numbers for high availability.
HPA (Horizontal Pod Autoscaler)#
A resource that automatically adjusts the number of Pods based on metrics like CPU and memory.
Helm#
A Kubernetes application package manager. Uses a package format called Charts.
I-L#
Ingress#
Defines rules for routing HTTP/HTTPS traffic from outside the cluster to internal Services. Supports domain and path-based routing.
Ingress Controller#
The component that actually implements Ingress resources. Examples include NGINX and Traefik.
Job#
A workload that runs one-time tasks. Manages Pods until completion and retries on failure.
Kubelet#
An agent running on each Worker Node. Responsible for running Pods, reporting status, and health checks.
kubectl#
A CLI tool for communicating with the Kubernetes cluster. Most operations are performed through kubectl.
kube-proxy#
Manages network rules on each node. Forwards traffic coming to Services to Pods.
M-P#
Namespace#
A unit for logically separating a cluster. Can be separated by environment (dev, staging, prod) or by team.
Node#
A machine (physical or virtual) that makes up the Kubernetes cluster. Actual workloads run on Worker Nodes.
PersistentVolume (PV)#
A storage resource provisioned by an administrator. Has a lifecycle independent of Pods.
PersistentVolumeClaim (PVC)#
Storage requested by a user. Binds to a PV and is used by Pods.
Pod#
The smallest deployable unit in Kubernetes. Contains one or more containers and shares network and storage.
# Example: nginx Pod
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.25Probe#
A mechanism for checking container health. There are Liveness, Readiness, and Startup Probes.
Q-S#
QoS Class#
The Quality of Service class for a Pod. There are three classes: Guaranteed, Burstable, and BestEffort.
ReplicaSet#
Maintains a specified number of Pod replicas. Usually managed indirectly through Deployments.
Requests#
The minimum amount of resources a Pod should be guaranteed. Used as the basis for scheduling.
Limits#
The maximum amount of resources a Pod can use. CPU is throttled when exceeded, and memory causes OOMKilled.
Secret#
A resource that stores sensitive information like passwords and API keys. Base64 encoded, requires separate configuration for encryption.
Service#
Provides a stable network endpoint for a set of Pods. Types include ClusterIP, NodePort, and LoadBalancer.
# Example: Service exposing nginx Pods
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: ClusterIPStatefulSet#
A workload for stateful applications (like databases). Provides sequential deployment, stable network IDs, and persistent storage.
StorageClass#
Defines storage types for dynamic PV provisioning. Uses different provisioners for different clouds.
T-Z#
Taint#
An attribute that prevents Pods from being scheduled on specific nodes. Only Pods with Toleration can be scheduled on that node.
Toleration#
A Pod attribute that allows scheduling on nodes with Taints.
VPA (Vertical Pod Autoscaler)#
Automatically adjusts Pod resource requests/limits. Not installed by default.
Volume#
Storage mounted to a Pod. Multiple types exist including emptyDir, hostPath, and PVC.
Worker Node#
A node where actual workloads (Pods) run. Kubelet, kube-proxy, and Container Runtime are installed.
YAML#
The primary format for defining Kubernetes resources. JSON is also usable but YAML is more popular due to better readability.