Interview Kubernetes, Docker, Helm & Podman

What is the difference between cordon, drain, and delete on a node?

Kubernetes, Docker, Helm & Podman · Intermediate level

Answer

cordon marks a node unschedulable, drain evicts movable Pods from the node, and delete removes the Node object from the API. They are different lifecycle operations and should not be used interchangeably.

Technical explanation

Deleting a node object does not gracefully evict workloads from a healthy node the same way drain does.

After deleting a cloud node, the cloud provider or node group may replace it depending on autoscaling settings.

Troubleshooting starts from state and events: get, describe, logs, previous logs, events, and then node/runtime/network checks.

Separate scheduling failures, image pull failures, runtime failures, app failures, and traffic-routing failures so you do not fix the wrong layer.

Operational commands like drain and rollback must respect PDBs, probes, and workload disruption tolerance.

Hands-on example

1. In a non-production namespace, create this safe broken scenario: compare cordon, drain, and delete on a disposable node.

2. Follow a fixed triage order: kubectl get, describe, logs or logs --previous, events, rollout status, node status, and then runtime/network checks.

3. Fix only one variable at a time so the root cause is clear rather than accidentally masked.

4. Save the commands and final diagnosis as an interview-ready incident walkthrough.

Preparing for an interview?

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

← All Kubernetes, Docker, Helm & Podman questions