How to Delete a Pod in Kubernetes: Simple Commands Explained
To delete a pod in Kubernetes, use the
kubectl delete pod <pod-name> command. This removes the specified pod from the cluster immediately.Syntax
The basic syntax to delete a pod is:
kubectl: The Kubernetes command-line tool.delete: The action to remove a resource.pod: Specifies the resource type to delete.<pod-name>: The exact name of the pod you want to delete.
bash
kubectl delete pod <pod-name>
Example
This example deletes a pod named nginx-pod from the default namespace.
bash
kubectl delete pod nginx-pod
Output
pod "nginx-pod" deleted
Common Pitfalls
Common mistakes when deleting pods include:
- Using the wrong pod name, which causes an error like
pods "wrong-name" not found. - Trying to delete pods managed by a controller (like Deployment), which will recreate the pod automatically.
- Not specifying the correct namespace if the pod is not in the default namespace.
To avoid these, always check the pod name with kubectl get pods and specify the namespace if needed with -n <namespace>.
bash
kubectl delete pod wrong-name # Error from server (NotFound): pods "wrong-name" not found kubectl delete pod nginx-pod -n custom-namespace # Deletes pod in 'custom-namespace' namespace
Output
Error from server (NotFound): pods "wrong-name" not found
pod "nginx-pod" deleted
Quick Reference
Summary tips for deleting pods:
- Use
kubectl get podsto list pods and confirm names. - Use
kubectl delete pod <pod-name> [-n <namespace>]to delete. - Pods managed by controllers will be recreated; delete the controller resource instead to stop pods.
Key Takeaways
Use
kubectl delete pod <pod-name> to remove a pod immediately.Always verify the pod name with
kubectl get pods before deleting.Specify the namespace with
-n <namespace> if the pod is not in the default namespace.Pods managed by controllers like Deployments will be recreated after deletion.
To stop pods managed by controllers, delete or scale down the controller resource instead.