Pods, services, deployments, and ingress: running containers at scale.
Pods, services, deployments, and ingress: running containers at scale.
Kubernetes (K8s) is an orchestrator for containerized workloads. The cluster has a control plane (API server, scheduler, controller manager) and nodes that run your workloads. You declare desired state in YAML or via tools (helm, kustomize); controllers reconcile actual state with that.
A Pod is the smallest deployable unit—one or more containers that share network and storage. Pods are ephemeral; do not rely on their IP. Use higher-level resources (Deployment, StatefulSet) to manage Pods.
Deployment manages a set of Pods: you specify the image, replicas, and update strategy (rolling update, rollback). It keeps the desired number of Pods running and replaces them when they fail or when you change the spec.
Service gives Pods a stable name and IP (cluster IP, or LoadBalancer/NodePort for external access). It selects Pods by label and load-balances traffic. Ingress provides HTTP routing (host/path) to Services, often with TLS termination.
ConfigMap holds non-secret configuration; Secret holds sensitive data (base64-encoded or external secret stores). Mount them as files or env vars into Pods. PersistentVolume (PV) and PersistentVolumeClaim (PVC) provide storage that survives Pod restarts.
Namespaces isolate resources within a cluster. Use labels and selectors to organize and target resources. Understanding these building blocks is enough to run and debug typical app deployments on any managed K8s (EKS, AKS, GKE).
Kubernetes and platform interviews: expect to explain Pods, Deployments, Services, and basic troubleshooting (describe, logs, exec).
Common questions:
Quick check · Kubernetes fundamentals
1 / 4
Key takeaways
What is the role of a Service in Kubernetes?
Service gives Pods a stable name and IP and load-balances traffic to them; Pods are ephemeral but the Service endpoint is stable.
💡 Analogy
Kubernetes is an airline's operations centre. The control plane is the ops team tracking every flight (Pod). The scheduler is the gate agent who assigns passengers (Pods) to planes (Nodes) based on seat requirements (resource requests) and restrictions (taints/tolerations). Controllers are like automated systems that watch flight status: if a plane goes down (Node failure), the ops centre immediately reassigns passengers to other flights (reschedules Pods). Deployments are the flight schedule — "I want 3 flights to London at any time." Services are the check-in desk: customers always go to the same desk address; the desk routes them to whichever flight (Pod) is available.
⚡ Core Idea
Kubernetes continuously reconciles desired state (your YAML) with actual state (what is running). You declare what you want; controllers make it so, and keep it so even as nodes fail, traffic spikes, or images are updated.
🎯 Why It Matters
Kubernetes has become the standard runtime for containerised applications in production. Understanding Pods, Deployments, Services, and debugging commands is a baseline expectation in cloud and DevOps interviews. More importantly, understanding the reconciliation model (desired vs actual state) is the mental shift that makes Kubernetes behaviour predictable.
Related concepts
Explore topics that connect to this one.
Ready to see how this works in the cloud?
Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.
View role-based pathsSign in to track your progress and mark lessons complete.
Questions? Discuss in the community or start a thread below.
Join DiscordSign in to start or join a thread.