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é (#55)
Helm Charts / Detect changed charts (push) Successful in 12s
Helm Charts / Library charts tool (push) Skipped
Helm Charts / Application charts alloy (push) Skipped
Helm Charts / Application charts chart (push) Skipped
Helm Charts / Application charts crowdsec (push) Skipped
Helm Charts / Application charts grafana (push) Skipped
Helm Charts / Application charts hashicorp-vault (push) Skipped
Helm Charts / Application charts loki (push) Skipped
Helm Charts / Application charts minio (push) Skipped
Helm Charts / Application charts pgbouncer (push) Skipped
Helm Charts / Application charts pgcat (push) Skipped
Helm Charts / Application charts prometheus (push) Skipped
Helm Charts / Application charts redis (push) Skipped

startupProbe patiente sur /api/health (10 min, délai 5 s), posée par patch kustomize, et affinité requise NotIn [pi2]. Rendu kustomize avant/après : seuls ces deux blocs changent.

Refs arcodange-org/tools#53

Co-Authored-By: Claude Opus 5 <[email protected]>
Co-authored-by: Gabriel Radureau <[email protected]>
This commit was merged in pull request #55.
This commit is contained in:
2026-09-15 14:01:21 +02:00
committed by arcodange
co-authored by Claude Opus 5
parent 8b0cae5af0
commit adc4aeebaf
2 changed files with 37 additions and 9 deletions
+21
View File
@@ -78,6 +78,27 @@ patchesJson6902:
value: value:
- >- - >-
sleep 10 && /entrypoint.sh db migrate 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: - target:
version: v1 version: v1
kind: Deployment kind: Deployment
+16 -9
View File
@@ -165,15 +165,22 @@ resources: {}
# memory: 128Mi # memory: 128Mi
# -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling). # -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
affinity: {} #
# nodeAffinity: # ⚠ JAMAIS SUR pi2 (tools#52, #53) : le nœud le plus chargé du cluster — c'est
# requiredDuringSchedulingIgnoredDuringExecution: # là que Plausible bouclait au démarrage le 2026-09-15. Même forme que
# nodeSelectorTerms: # ClickHouse (#54), MinIO (#50) et Prometheus (#51) : exclusion REQUISE, sans
# - matchExpressions: # préférence. Elle ne bloque pas le placement si UN nœud tombe (pi1 ou pi3
# - key: kubernetes.io/hostname # restent éligibles) ; elle ne bloquerait que si pi1 ET pi3 tombaient, et pi1
# operator: In # porte le plan de contrôle.
# values: affinity:
# - my-node-xyz 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). # -- Pod-level tolerations. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
tolerations: [] tolerations: []