fix(pi2) — Gitea et Postgres avaient zéro plafond, plus maintenant
pi2 tournait à load average ~45 (4 cœurs) pendant qu'un push docker timeoutait vers le registre. Gitea et Postgres tournent en docker compose nu, hors k3s — invisibles du scheduler ET sans limite (`docker inspect` mesurait NanoCPUs=0, Memory=0 pour les deux), donc rien ne les empêchait de se battre à armes égales avec tout le reste du nœud. Postgres → 1 CPU / 1024M, Gitea → 1.5 CPU / 1536M (Compose v2 honore `deploy.resources.limits` hors swarm). Valeurs dérivées d'une mesure au repos (Postgres 3-5 %, Gitea 12 % CPU) avec de la marge pour les pics — un filet, pas un dimensionnement pour la charge normale. Appliqué et vérifié en direct sur pi2 : les deux conteneurs ont recréé avec les nouvelles limites (`docker inspect` confirme), PostGIS survit au recreate de Postgres (déjà géré par ce playbook), Gitea sert web (200) et registre (401 attendu, anonyme) normalement après coup. Le levier complémentaire (kubelet --system-reserved/--kube-reserved sur pi2, pour que le SCHEDULER k8s sache que cette place est déjà prise) n'est pas dans cette PR — plus gros, touche system_k3s.yml pour tout le cluster.
This commit is contained in:
@@ -59,4 +59,14 @@ gitea:
|
||||
volumes:
|
||||
- /home/pi/arcodange/docker_composes/gitea/data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
# Gitea tourne sur pi2 hors k3s (docker compose nu) : invisible du
|
||||
# scheduler k8s et sans plafond jusqu'ici (`docker inspect` mesurait
|
||||
# NanoCPUs=0, Memory=0). Mesuré à 12 % CPU / 417 Mi au repos — la
|
||||
# limite est un filet pour les pics (gros push, opérations git
|
||||
# lourdes), pas un dimensionnement pour la charge normale.
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "1.5"
|
||||
memory: 1536M
|
||||
@@ -19,6 +19,15 @@ postgres:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- /home/pi/arcodange/docker_composes/postgres/data:/var/lib/postgresql/data
|
||||
# Postgres tourne sur pi2 hors k3s (docker compose nu) : invisible du
|
||||
# scheduler k8s et sans plafond jusqu'ici (`docker inspect` mesurait
|
||||
# NanoCPUs=0, Memory=0). Mesuré à 3-5 % CPU au repos — la limite est un
|
||||
# filet, pas un dimensionnement pour la charge normale.
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "1"
|
||||
memory: 1024M
|
||||
|
||||
pgbouncer:
|
||||
auth_user: &pgbouncer_auth pgbouncer_auth
|
||||
|
||||
Reference in New Issue
Block a user