When we run kubectl delete pod , the confirmation message pops up saying the pod is deleted(if all good)
$ kubectl delete pod platform-pod
pod "platform-pod" deleted
Wondered, what happens behind the scenes?
Before diving into pod deletion behind the scenes, you should know the basics.
SIGTERM: Requests a graceful shutdown, allowing the program to finish tasks and clean up. In Kubernetes, pods get time to exit cleanly.
SIGKILL: Forces an immediate stop, with no cleanup. If a pod doesn't shut down in time after SIGTERM, Kubernetes sends SIGKILL to terminate it.
In short,
- SIGTERM allows for cleanup.
- SIGKILL stops everything instantly.
Pod Deletion - Behind the Scenes:
kubectl delete pod: Triggers the API Server to update ETCD with deletionTimestamp and deletionGracePeriodSeconds, marking the pod as Terminating.
API Server → Kubelet: Notifies the Kubelet of the pod’s termination.
Endpoint Controller: Removes the pod from active service endpoints, stopping any traffic from reaching the pod.
PreStop Hook (if configured): Before sending SIGTERM, the Kubelet runs the PreStop Hook. This allows the pod to perform custom tasks (e.g., closing connections) during shutdown.
SIGTERM: Kubelet sends SIGTERM, initiating a graceful shutdown. The pod is given the deletionGracePeriodSeconds (default 30s) to cleanly exit.
Graceful Shutdown: During the grace period, the pod handles any ongoing tasks, such as completing requests or saving data, before it fully stops.
SIGKILL: If the pod doesn't terminate within the grace period, SIGKILL is sent, forcing an immediate shutdown.
Pod Deleted: The API Server updates ETCD, marking the pod as deleted. Components like Kube-Proxy, Ingress, and others remove all references to the pod.
Here are some common signals for your knowledge (though out of context):
- SIGHUP: Hangup signal
- SIGINT: Interrupt signal (triggered by Ctrl+C)
- SIGQUIT: Quit signal
- SIGSTOP: Stop the process (cannot be caught or ignored)
I hope this was helpful in your learning journey. I went through an article and thought it might add some value to your learning journey so I shared it with all of you.