
ベアメタル上に 1 つのマスター ノードと 3 つのワーカー ノードで構成される Kubernetes クラスターがあります。
readinessProbe と livenessProbe を使用して elasticsearch を statefulset として実行しています。kibana トラフィックを転送するために、kibana は Elasticsearch の headless-service を指しています。elasticsearch ノードが起動すると、ポッドは最初に 0/1 準備完了として表示され、Elasticsearch ノードが準備完了になると、予想どおり READY 1/1 が表示されます。
しかし、elasticsearch を実行するワーカー ノードで docker デーモンを停止してノードを中断したい場合、これは機能しません。ノードは NotReady として表示されますが、elasticsearch ポッドは引き続き準備完了として表示されます。そのため、サービスは引き続き使用できないポッドにルーティングされ、クライアント側でタイムアウトが発生します。
ポッドを説明すると、新たな準備調査は行われない失敗しています。NotReady ノード上のポッドに対しては実行されないようです。
ノードが NotReady になった場合、すべてのポッドが使用不可または準備ができていない状態になると予想されます。
どうすればいいですか?
ありがとう、アンドレアス