Description

This article explains what all to check when NodeNotReady is seen for the atomdb.

Symptoms

kubectl describe pod -n common atom-db-0 shows the messages:

 

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Warning NodeNotReady 94d node-controller Node is not ready

Warning NodeNotReady 85d node-controller Node is not ready

Warning NodeNotReady 82d node-controller Node is not ready

Warning NodeNotReady 66d node-controller Node is not ready

 

Check the output of the patroni list to see the status of the atom-db replicas and leader.

 

kubectl exec -it -n common atom-db-1 -- bash

 

root@atom-db-1:/home/postgres# patronictl list

+ Cluster: atom-db (7269413560341123141) ------------+-----+-----------+

| Member | Host | Role | State | TL | Lag in MB |

+-----------+---------------+---------+--------------+-----+-----------+

| atom-db-0 | 10.1.2.3 | Replica | running | 175 | 0 |

| atom-db-1 | 10.3.2.1 | Leader | running | 175 | |

| atom-db-2 | 10.2.3.1 | Replica | start failed | | unknown |

+-----------+---------------+---------+--------------+-----+-----------+

 

Here, you can see the status of the replica for atomdb-2 is in failed state due to which it goes in NodeNotReady state.

 

 

Solution

To resolve the issue, You can try to perform a reinit for the replicas by running the command: patronictl reinit atom-db atom-db-2 --force


If the status of the atom-db-2 shows as running now, then that means the replica has been restored.


If not, you need to check why it is in this state.


You can also have the healthcheck-monitoring.sh script installed on the system which will take care of reinitialising the replicas and making sure that no lag is seen in between the replicas and the leader. You can refer to KB104041 [juniper.net] to download the healthcheck-monitoring.sh script.

Modification History

2025-10-27 : Article Created