Как узнать, что использует диск моего узла в Kubernetes?

Как узнать, что использует диск моего узла в Kubernetes?

У меня есть кластер Kubernetes с одним узлом, и я получил уведомление о том, что использование диска превысило 70%. Когда я получаю оболочку на узле и запускаю, dfя вижу, что /используется 75% доступных блоков. Я также вижу ряд записей, подобных этой:

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

У меня есть две службы, которые используют постоянные тома (не тома хоста), и я не могу придумать ничего, кроме образов Docker, которые могли бы использовать все это хранилище.

Как мне выяснить, что использует столько места в моем кластере Kubernetes?

решение1

Чтобы узнать, что использует диск вашего узла в Kubernetes, вы можете выполнить следующие действия:

  1. Подключитесь к вашему Node через SSH.

  2. Установите ncduпакет на свой узел с помощью следующей команды:

    sudo apt-get install ncdu
    
  3. Запустите ncduв корневом каталоге вашего узла команду:

    sudo ncdu /
    
  4. Дождитесь ncduзавершения сканирования диска вашего узла. Он отобразит список каталогов и их соответствующие размеры.

  5. Используйте клавиши со стрелками для перемещения по каталогам и подкаталогам, чтобы выяснить, какой из них занимает больше всего места на диске.

  6. После того, как вы определили каталог, занимающий больше всего места, вы можете kubectlузнать, какой модуль его использует, выполнив следующую команду:

    kubectl describe pod <pod-name>
    

    Замените <pod-name>на имя модуля, который вы хотите проверить.

  7. Найдите Volumeраздел в выводе команды kubectl describe pod. Он покажет вам PVC (Persistent Volume Claim), который смонтирован на pod.

  8. kubectlДля описания PVC используйте следующую команду :

    kubectl describe pvc <pvc-name>
    

    Замените <pvc-name>на название ПВХ, который был установлен на модуле.

  9. Найдите разделы StorageClassи Access Modesв выводе команды kubectl describe pvc. Они сообщат вам, какой StorageClass использует PVC и как к нему осуществляется доступ.

  10. Проверьте конфигурацию StorageClass, чтобы узнать, установлены ли для него какие-либо ограничения или квоты хранилища, которые могут вызывать проблемы с использованием диска.

Выполнив эти шаги, вы сможете определить, какой модуль использует больше всего дискового пространства на вашем узле в Kubernetes.

Связанный контент