When node lost, unexpectedly why StatefulSet pods are rescheduled ?

Solution In Progress - Updated -

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.
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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content