gitea-runner: el janitor deja el uso del volumen en su log
Tras el desalojo del 2026-08-12 no quedaba nada que mirar: el emptyDir muere con el pod, así que la causa hubo que deducirla por descarte. Ahora el janitor mide /dind (montado en solo lectura) antes y después de cada barrido y lo escribe en su log, cada 6h. La próxima vez habrá curva de crecimiento medida en vez de conjeturas. No se usa Prometheus porque no puede verlo: kubelet_volume_stats_* solo emite series para PVCs y container_fs_usage_bytes viene vacío en k3s. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -109,11 +109,20 @@ spec:
|
||||
# anterior (1,5G) queda colgada y nadie la borra.
|
||||
# prune SIN -a a propósito: borra solo las dangling, jamás una imagen con tag,
|
||||
# así que no vacía la caché de act ni la de buildkit y los builds no se frenan.
|
||||
# Además deja el uso del volumen en su propio log cada vuelta. El emptyDir
|
||||
# muere con el pod, así que tras un desalojo no queda nada que inspeccionar:
|
||||
# el 2026-08-12 hubo que deducir la causa por descarte. Con esto, la próxima
|
||||
# vez `kubectl logs -c janitor` da la curva de crecimiento ya medida.
|
||||
# Prometheus no vale para esto: kubelet_volume_stats_* solo cubre PVCs.
|
||||
- args:
|
||||
- |
|
||||
sleep 30
|
||||
while true; do
|
||||
antes=$(du -sm /dind 2>/dev/null | cut -f1)
|
||||
docker image prune -f >/dev/null 2>&1 || true
|
||||
ahora=$(du -sm /dind 2>/dev/null | cut -f1)
|
||||
echo "[janitor] $(date -Iseconds) dind ${ahora}MB de 10240MB (antes del barrido ${antes}MB)"
|
||||
sleep 21600
|
||||
docker image prune -f || true
|
||||
done
|
||||
command:
|
||||
- /bin/sh
|
||||
@@ -131,6 +140,10 @@ spec:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 32Mi
|
||||
volumeMounts:
|
||||
- mountPath: /dind
|
||||
name: dind-storage
|
||||
readOnly: true
|
||||
dnsPolicy: ClusterFirst
|
||||
nodeSelector:
|
||||
kubernetes.io/hostname: chemavx-k8
|
||||
|
||||
Reference in New Issue
Block a user