Проверка емкости хранилища в кластере Kubernetes

Этот вопрос касается хранилища кубернетов. Я использую локальный кластер kubernetes, где некоторые приложения, которые должны быть развернуты, должны поддерживаться pvcs. PVC предоставляются динамически. Однако иногда, когда в кластере не остается хранилища, запрос pvc просто застревает в состоянии ожидания.

Есть ли способ проверить доступное хранилище в кластере Kubernetes? Подробно проверено в документации, и просто непонятно, как проверить оставшуюся емкость хранилища в кластере кубернетов.

Кроме того, согласно документации kubernetes, емкость узла отличается, и выделение pvc привязано к pv, которые являются полностью отдельным ресурсом кластера, как и узлы.

В таком случае, какое хранилище мне нужно проверить, чтобы найти, есть ли свободное место, скажем, для динамического ПВХ размером x gb? Кроме того, как это проверить?


person sri3    schedule 23.12.2019    source источник


Ответы (1)


Вы можете использовать инструменты для мониторинга ресурсов.

Один из них - Prometheus, вы можете комбинировать его с Grafana для визуализации собранных показателей.

Также ознакомьтесь с compute- мониторинг потребления ресурсов.

Когда используется локальное эфемерное хранилище, оно постоянно контролируется kubelet. Мониторинг выполняется путем периодического сканирования каждого тома emptyDir, каталогов журналов и доступных для записи слоев. Начиная с Kubernetes 1.15 томами emptyDir (но не каталогами журналов или доступными для записи слоями) можно, по выбору оператора кластера, управлять с помощью квот проекта. Квоты проекта изначально были реализованы в XFS, а недавно были перенесены на ext4fs. Квоты проекта могут использоваться как для мониторинга, так и для обеспечения соблюдения; Начиная с Kubernetes 1.16, они доступны как альфа-функциональность только для мониторинга.

Квоты быстрее и точнее, чем сканирование каталогов. Когда каталог назначается проекту, все файлы, созданные в этом каталоге, создаются в этом проекте, и ядру просто нужно отслеживать, сколько блоков используется файлами в этом проекте. Если файл создается и удаляется, но с открытым дескриптором файла, он продолжает занимать место. Это пространство будет отслеживаться квотой, но не будет видно при сканировании каталогов.

Чтобы разрешить использование квот проекта, оператор кластера должен сделать следующее:

  • включите функцию LocalStorageCapacityIsolationFSQuotaMonitoring=true в конфигурации kubelet. По умолчанию в Kubernetes 1.16 установлено значение false, поэтому должно быть явно установлено значение true.
  • убедитесь, что корневой раздел (или дополнительный раздел среды выполнения) построен с включенными квотами проекта. Обратите внимание, что все файловые системы XFS поддерживают проектные квоты, но файловые системы ext4 должны быть созданы специально.

Убедитесь, что корневой раздел (или дополнительный раздел среды выполнения) смонтирован с включенными квотами проекта.

person Malgorzata    schedule 23.12.2019