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.
|
# 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,
|
# 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.
|
# 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:
|
- args:
|
||||||
- |
|
- |
|
||||||
|
sleep 30
|
||||||
while true; do
|
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
|
sleep 21600
|
||||||
docker image prune -f || true
|
|
||||||
done
|
done
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -131,6 +140,10 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 32Mi
|
memory: 32Mi
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /dind
|
||||||
|
name: dind-storage
|
||||||
|
readOnly: true
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/hostname: chemavx-k8
|
kubernetes.io/hostname: chemavx-k8
|
||||||
|
|||||||
Reference in New Issue
Block a user