When node lost, unexpectedly why StatefulSet pods are rescheduled ?
Issue
- The pods which are deployed through StatefulSet were rescheduled unexpectedly to other available nodes, when the node lost.
- It's an unexpected result on StatefulSet pods.
- Refer Delete Pods for more details.
Kubernetes (versions 1.5 or newer) will not delete Pods just because a Node is unreachable.
The Pods running on an unreachable Node enter the ‘Terminating’ or ‘Unknown’ state after a timeout.
Pods may also enter these states when the user attempts graceful deletion of a Pod on an unreachable Node.
The only ways in which a Pod in such a state can be removed from the apiserver are as follows:
* The Node object is deleted (either by you, or by the Node Controller).
* The kubelet on the unresponsive Node starts responding, kills the Pod and removes the entry from the apiserver.
* Force deletion of the Pod by the user.
Environment
- OpenShift Container Platform
- 3.11
- Portworx storage driver
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.