Interview › Kubernetes, Docker, Helm & Podman
What is the difference between a Pod, a ReplicaSet, and a Deployment?
Kubernetes, Docker, Helm & Podman · Basic level
Answer
A Pod is an instance of one or more containers. A ReplicaSet keeps a desired number of matching Pods running. A Deployment sits above the ReplicaSet and manages rollout, rollback, and declarative updates for stateless workloads.
Technical explanation
A Deployment usually owns a ReplicaSet, and that ReplicaSet owns Pods; editing child ReplicaSets or Pods directly creates drift.
Use Deployments for stateless services and StatefulSets or Jobs when identity or completion semantics matter.
Kubernetes resources are declarative API objects; controllers continuously drive actual state toward spec.
The practical interview angle is to connect the concept to reliability: scheduling, healing, scaling, rollout safety, and clear ownership.
Use kubectl get, describe, explain, and -o yaml to move from high-level view to exact spec/status details.
Hands-on example
1. Create a local lab with kind or minikube, then use it to demonstrate: create a Deployment, then inspect the ReplicaSet and Pods it owns.
2. Run kubectl get nodes -o wide, kubectl get pods -A, kubectl describe, and kubectl get -o yaml to connect the concept to actual cluster state.
3. Make one intentional change, such as a label change, image update, or replica change, and watch how the control plane reconciles it.
4. Capture the command output and convert it into an interview story: desired state, observed state, failure mode, and fix.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Kubernetes, Docker, Helm & Podman interview questions
- What is Kubernetes, and what problem does it solve over running containers manually?
- Explain the Kubernetes control plane components (API server, etcd, scheduler, controller manager).
- What runs on a worker node (kubelet, kube-proxy, container runtime)?
- What is a Pod, and why does Kubernetes schedule Pods rather than containers?
- How does a Deployment perform a rolling update, and how do maxSurge and maxUnavailable work?
- How do you roll back a Deployment, and how does Kubernetes track revisions?
- What is a Service, and what are the types (ClusterIP, NodePort, LoadBalancer, ExternalName)?
- How does a Service select its Pods, and what happens if labels do not match?