Interview › Kubernetes, Docker, Helm & Podman
How does a Deployment perform a rolling update, and how do maxSurge and maxUnavailable work?
Kubernetes, Docker, Helm & Podman · Basic level
Answer
A Deployment rolling update creates a new ReplicaSet and gradually shifts replicas from the old ReplicaSet to the new one. maxSurge controls how many extra Pods can run above desired replicas, and maxUnavailable controls how many desired Pods can be unavailable during the rollout.
Technical explanation
maxSurge can temporarily consume more cluster capacity, so capacity planning matters before rolling out large Deployments.
Readiness probes are critical during rolling updates because they control when new Pods become eligible for traffic.
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: perform a rolling update with maxSurge and maxUnavailable changed.
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?
- What is the difference between a Pod, a ReplicaSet, and a Deployment?
- 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?