Interview › Kubernetes, Docker, Helm & Podman
When would you use a DaemonSet, and give a real example.
Kubernetes, Docker, Helm & Podman · Basic level
Answer
I use a DaemonSet when I need one Pod on every node or every matching node. Real examples are log collectors, node exporters, CNI agents, CSI node plugins, security agents, and local monitoring components.
Technical explanation
DaemonSets can target only selected nodes using node selectors, affinity, or tolerations.
During node upgrades, DaemonSet Pods are normally recreated automatically on replacement nodes.
Kubernetes workload controllers encode different lifecycle guarantees: interchangeable replicas, stable identities, node-local agents, or finite tasks.
Storage decisions must align with durability, access mode, zone placement, backup, restore, and failover behavior.
Autoscaling should be designed with metrics, scheduling constraints, PDBs, and node capacity together.
Hands-on example
1. Deploy a workload for this exercise using kubectl apply and a small test image such as nginx, busybox, or a purpose-built app: deploy a node-exporter-style DaemonSet to selected nodes.
2. Inspect ownerReferences, events, Pods, PVCs, PVs, EndpointSlices, and metrics depending on the resource being tested.
3. Create a realistic disruption: delete a Pod, scale replicas, restart a node, fill a queue, or recreate storage attachment in a test environment.
4. Write the runbook entry covering expected behavior, safe rollback, and what alarms should exist.
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 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)?