Liveness probe could never pass — cause of 920 restarts in 35 days

FixKlusterServices
Ya
5 Agosti 2026, 00:11 UTC
Mwandishi
Kamo
Ahadi ya
00ad3ef

Root cause: the liveness probe was `tcpSocket: port 10000`, but Scylla's REST API binds to api_address 127.0.0.1 (its default) while a tcpSocket probe dials the POD IP. Verified from inside the container — /proc/net/tcp shows :10000 listening only on 0100007F (127.0.0.1), whereas 9042/9180/7000/19042 are on the pod IP; and `curl **************** returns 200 while the same request to the pod IP is refused (curl exit 7), which is exactly what kubelet reported: "Liveness probe failed: dial tcp 10.42.0.47:10000: connect: connection refused". So the probe failed on every attempt and the kubelet killed the container every cycle: initialDelaySeconds 900 + failureThreshold 80 x periodSeconds 30 = 3300s, matching the observed restart period of 55m14s and 920 restarts / 35 days (~one per 54.7 min). Each kill ran the preStop `nodetool drain`, so it exited 0 / "Completed" and looked like a clean shutdown rather than a crash. The earlier 900s/80 values were not cold-start tuning as the comment claimed — they were masking this. They only stretched the kill cycle; the prior 60s/6 values produced a restart every ~4 min (~360/day). Fix: probe the API where it actually listens, via exec against 127.0.0.1, and restore a meaningful threshold (6 x 30s = 3 min). startupProbe already gates liveness until CQL is up, so initialDelaySeconds is unnecessary. Deliberately not setting --api-address 0.0.0.0, which would expose the unauthenticated admin REST API to the pod network.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei