Kubernetes pod stuck in terminating state

Kubernetes is a container orchestration platform that helps manage and scale applications in a distributed environment. However, sometimes pods Smallest deployable units of computing that you can create and manage in Kubernetes. within a Kubernetes cluster can get stuck in the terminating state, indicating an issue with their graceful termination. This can be a frustrating situation as it prevents new deployments or updates from proceeding smoothly.

Reasons for pods stuck in terminating state

A pod can get stuck in the terminating state for a number of reasons which include the following:

  • The pod has a finalizer associated with it that is not completing. A finalizer is a Kubernetes object that is used to ensure that certain tasks are completed before a pod is deleted. If a finalizer is not completing, the pod will remain in the terminating state until the finalizer is finished.

  • The pod is not responding to termination signals. If a pod is not responding to termination signals, it will remain in the terminating state indefinitely. This can happen if the pod is hung or if there is a bug in the pod's code.

  • The node that the pod is running on is down. If the node that a pod is running on is down, the pod will remain in the terminating status until the node is back up and running.

How to fix pods stuck in terminating state

if you have a pod that is stuck in the terminating state, you can try the following steps to fix it:

  • Check the pod status: Run the following command to get detailed information about the pods that are stuck in the terminating status:

kubectl get pods <pod_name> -n <namespace> -o yaml
Command to check pod status
  • Check the status of the node. Use the command below to list all of the nodes in your cluster. If the node that the pod is running on is down, you will need to bring the node back up before the pod can be deleted.

kubectl get nodes
Command to check node status
  • Check for finalizers. Run the following command to list all of the pods in your cluster. If you see a pod that is in the terminating status, look for the finalizers field in the pod's output. If the pod has any finalizers, you will need to remove them before the pod can be deleted.

kubectl get pods
Command to check for finalizers
  • Restart the kubelet service: In some cases, the kubelet service on the affected node might be unresponsive or experiencing issues. Restarting the kubelet service can help resolve the problem. However, be cautious when restarting the kubelet service, as it can affect other pods running on the node. To restart the service, you can use the following command, assuming you have administrative privileges:

sudo systemctl restart kubelet
Command to restart kubelet service
  • Force-delete the pod. If you have tried the above steps and the pod is still stuck in the terminating status, you can force-delete the pod. To do this, use the following command:

kubectl delete pod --force
Command to forcefully delete a pod

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved