
Tengo un clúster de Kubernetes de un solo nodo y recibí una notificación de que el uso del disco superaba el 70 %. Cuando obtengo un shell en el nodo y lo ejecuto, df
veo que /
está usando el 75% de los bloques disponibles. También veo varias entradas como esta:
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/47d405a81214ec9b81ccdffae3674260fa2946d30bdd3b398aa1c2d283c8577e/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/569d1fe262f6bf1a59ca99163f231a426d2251ac1beabc47a0393066f48b3e0e/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/32d14863f46e922b7e0b2bbee8a5321c5fabb5811352449d90e486b94161a8cb/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/8c3fa2f9467e792036782e9587f748f846d61fdc23d9afaecc7e7835e6db4f2b/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/626b21093218edcda466ce6d4f31e7b975a0c0473d233fc062ed657499541fc9/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/c1a7484e1beca4ec1299fc5017002d6fecc9890c86e3246a8bdf53fcc45cf576/rootfs
Tengo dos servicios que usan volúmenes persistentes (no volúmenes de host) y no se me ocurre nada más que imágenes de la ventana acoplable que podrían estar consumiendo todo este almacenamiento.
¿Cómo puedo averiguar qué está utilizando tanto almacenamiento en mi clúster de Kubernetes?
Respuesta1
Para saber qué está usando el disco de tu Nodo en Kubernetes, puedes seguir estos pasos:
SSH en su Node.
Instale el
ncdu
paquete en su Node usando el siguiente comando:sudo apt-get install ncdu
Ejecute
ncdu
en el directorio raíz de su Nodo usando el comando:sudo ncdu /
Espere a
ncdu
que termine de escanear el disco de su Node. Mostrará una lista de directorios y sus respectivos tamaños.Utilice las teclas de flecha para navegar por los directorios y subdirectorios y descubrir cuál ocupa más espacio en el disco.
Una vez que haya identificado el directorio que ocupa más espacio, puede utilizarlo
kubectl
para averiguar qué pod lo está utilizando ejecutando el siguiente comando:kubectl describe pod <pod-name>
Reemplace
<pod-name>
con el nombre del pod que desea verificar.Busque la
Volume
sección en el resultado delkubectl describe pod
comando. Le mostrará el PVC (reclamo de volumen persistente) que está montado en el módulo.Úselo
kubectl
para describir el PVC usando el siguiente comando:kubectl describe pvc <pvc-name>
Reemplace
<pvc-name>
con el nombre del PVC que se montó en la cápsula.Busque las secciones
StorageClass
yAccess Modes
en el resultado delkubectl describe pvc
comando. Le indicará qué StorageClass está utilizando el PVC y cómo se accede a él.Verifique la configuración de StorageClass para ver si hay límites de almacenamiento o cuotas establecidas que puedan estar causando problemas de uso del disco.
Si sigue estos pasos, debería poder identificar qué pod está utilizando más espacio en disco en su nodo en Kubernetes.