Plausible attend la fin de son démarrage et évite pi2 : il y était tué par sa sonde de vivacité avant d'avoir démarré
Helm Charts / Detect changed charts (pull_request) Successful in 37s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts chart (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts grafana (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Skipped
Helm Charts / Application charts loki (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped

Le 2026-09-15, la révision créée par la rotation de ses identifiants de
base a été placée sur pi2. Depuis 11:08Z, le conteneur était tué par la
sonde de vivacité (délai 1 s, 3 échecs, aucune sonde de démarrage) ~56 s
après chaque départ, code 137, sans une ligne de journal.

- une startupProbe patiente sur /api/health (10 min, délai 5 s), posée par
  patch kustomize : le chart pascaliske 2.0.0 n'expose pas les sondes ;
- une affinité requise NotIn [pi2], même forme que ClickHouse (#54).

Rendu kustomize --enable-helm avant/après : seuls ces deux blocs changent.

Refs arcodange-org/tools#53

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-15 13:59:46 +02:00
co-authored by Claude Opus 5
parent 8b0cae5af0
commit 7ffaa11deb
2 changed files with 37 additions and 9 deletions
+21
View File
@@ -78,6 +78,27 @@ patchesJson6902:
value:
- >-
sleep 10 && /entrypoint.sh db migrate
# ── SONDE DE DÉMARRAGE PATIENTE (tools#53, même forme que Loki, #45) ──
#
# Le chart pascaliske 2.0.0 n'expose aucune sonde dans ses valeurs : il
# écrit `livenessProbe`/`readinessProbe` sur `/api/health` avec les
# défauts de Kubernetes — délai 1 s, 3 échecs, AUCUNE sonde de
# démarrage. Mesuré le 2026-09-15 : placé sur un pi2 chargé, Plausible
# était tué par la vivacité ~56 s après chaque départ (code 137), sans
# une ligne de journal, 13 fois en 30 min — il n'avait pas fini de
# démarrer. Une `startupProbe` tient la phase de démarrage (jusqu'à
# 10 min) ; la vivacité et la disponibilité, inchangées, ne prennent le
# relais qu'une fois le démarrage acquis.
# ⚠ Conteneur 0 = `plausible` (1 = `geoip`), comme les patchs ci-dessus.
- op: add
path: /spec/template/spec/containers/0/startupProbe
value:
httpGet:
path: /api/health
port: http
periodSeconds: 10
failureThreshold: 60 # 10 min pour démarrer, puis on abandonne
timeoutSeconds: 5
- target:
version: v1
kind: Deployment
+16 -9
View File
@@ -165,15 +165,22 @@ resources: {}
# memory: 128Mi
# -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
affinity: {}
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: kubernetes.io/hostname
# operator: In
# values:
# - my-node-xyz
#
# ⚠ JAMAIS SUR pi2 (tools#52, #53) : le nœud le plus chargé du cluster — c'est
# là que Plausible bouclait au démarrage le 2026-09-15. Même forme que
# ClickHouse (#54), MinIO (#50) et Prometheus (#51) : exclusion REQUISE, sans
# préférence. Elle ne bloque pas le placement si UN nœud tombe (pi1 ou pi3
# restent éligibles) ; elle ne bloquerait que si pi1 ET pi3 tombaient, et pi1
# porte le plan de contrôle.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: NotIn
values:
- pi2
# -- Pod-level tolerations. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
tolerations: []