From e21b1c3a71ee91a955502e357286e797f58dc146 Mon Sep 17 00:00:00 2001 From: Feng Ruohang Date: Mon, 9 Nov 2026 22:07:59 +0800 Subject: [PATCH] docs(healthcheck): say what ready does not wait for The ready probe turns healthy before storage and IAM load, by design, so that distributed nodes can reach each other during startup. Point startup ordering such as Compose service_healthy at the cluster check, and keep publishing not-ready addresses for StatefulSet peers. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Feng Ruohang --- docs/metrics/healthcheck/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/metrics/healthcheck/README.md b/docs/metrics/healthcheck/README.md index b5904a5f8..ef72ee15a 100644 --- a/docs/metrics/healthcheck/README.md +++ b/docs/metrics/healthcheck/README.md @@ -29,6 +29,8 @@ healthcheck: retries: 5 ``` +`ready` turns healthy as soon as the process accepts connections, before storage and IAM finish loading, so that distributed nodes can reach each other while they start. To hold back a dependent service until the server answers S3 requests (for example Compose `depends_on: condition: service_healthy`), probe `cluster` instead. + `silo healthcheck --maintenance cluster` answers the pre-drain question documented below: exit `0` when the node can be taken down safely, exit `1` (HTTP 412) when doing so would lose HA. Keep the `cluster` checks out of per-container liveness probes — they reflect cluster-wide quorum, not this process. ## Liveness probe @@ -50,7 +52,7 @@ livenessProbe: ## Readiness probe -This probe responds with '200 OK' once the server process is up: it fails only while the request queue is overloaded, or when the health operation against the configured KMS or 'etcd' fails. When readiness probe fails, Kubernetes like platforms turn-off routing to the container. +This probe responds with '200 OK' once the server process is up: it fails only while the request queue is overloaded, or when the health operation against the configured KMS or 'etcd' fails. It does not wait for storage or IAM to load, because a distributed node must be reachable by its peers before it can load them; the headless service of a StatefulSet should still publish not-ready addresses. When readiness probe fails, Kubernetes like platforms turn-off routing to the container. ``` readinessProbe: