Sur les serveurs Kubernetes, il y a un volume monté particulier : docker-metadata.
Ce volume sert à plusieurs choses dont:
Ce volume peut prendre de plus en plus de place en fonction notamment du nombre de pods et de la verbosité des pods sur leur sortie standard.
Le volume est monté généralement sur le dossier /var/lib/docker
.
Il peut parfois devenir nécessaire de faire un nettoyage. Dans un premier temps nous allons rechercher quel container prend le plus de place. Nous pouvons nous baser sur la commande du
.
du -hs /var/lib/docker/containers/*
Il est possible de trier les résultats par taille.
du -hs /var/lib/docker/containers/*/*-json.log | sort -h
Puis nous pouvons réduire la taille en utilisant la commande truncate
.
Exemple :
truncate /var/lib/docker/containers/09874390ab3984cd98723e9fbb2398a29c24/09874390ab3984cd98723e9fbb2398a29c24-json.log -s 0 -c
Il peut être nécessaire d'identifier à quel pod appartient un container donné. Il est possible d'utiliser la commande suivante :
kubectl get pods --all-namespaces -o jsonpath="{range .items[*]}{@.metadata.name}{' '}{@.status.containerStatuses[*].containerID}{'\\n'}{end}" --all-namespaces | column -t | grep 09874390ab3984cd98723e9fbb2398a29c24