diff --git a/redis/values.yaml b/redis/values.yaml index f7a192a..edcb1aa 100644 --- a/redis/values.yaml +++ b/redis/values.yaml @@ -140,13 +140,36 @@ redis: &redis_config runAsUser: 999 # -- Compute resources used by the container. More info [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/). - resources: {} - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi + # + # ⚠ CE N'EST PAS DU CONFORT — c'est ce qui empêche Redis de mourir en boucle. + # + # Le sous-chart FIGE ses sondes à `timeoutSeconds: 1` sur `redis-cli ping`, et + # n'expose aucune valeur pour les surcharger. Sur ce matériel (Raspberry Pi), + # un conteneur SANS réservation tombe dans la classe QoS `BestEffort` : il est + # le premier affamé quand le nœud est chargé, et le simple lancement de + # `redis-cli` y dépasse la seconde. + # + # Mesuré le 2026-07-29 sur `redis-0` : « Liveness probe failed: command timed + # out: "redis-cli ping" timed out after 1s » **836 fois en 23 jours**, 135 + # redémarrages, le conteneur tué par SIGTERM après ~90 s de vie à chaque tour. + # + # ⚠ CE QUE ÇA CASSAIT, ET QUI N'AVAIT RIEN À VOIR AVEC REDIS EN APPARENCE : le + # plugin crowdsec de Traefik utilise ce Redis comme cache de décisions. Cache + # injoignable ⇒ `isCrowdsecStreamHealthy:false` ⇒ le plugin REFUSE PAR DÉFAUT + # tout client non listé dans `clientTrustedIPs` ⇒ **403, corps vide, sur + # `kadans.arcodange.fr` et `gitea.arcodange.fr`**, pendant que les hôtes qui ne + # portent pas ce middleware répondaient normalement. Le symptôme ne nomme ni + # Redis, ni crowdsec, ni la sonde — il ressemble à un bannissement d'IP, et + # c'est par là qu'on cherche d'abord. + # + # Une réservation fait passer le conteneur en `Burstable` et lui garantit sa + # part. Les limites restent larges : Redis n'est pas ce qui sature ce nœud. + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + memory: 256Mi # -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling). affinity: {}