Кубернетес: измерение ресурса / ограничение эффективности

Я хотел бы почувствовать, насколько "эффективно" мое развертывание / работа при использовании ресурсов, которые они запрашивают. то есть, если задание, использующее только 1CPU на пике, в итоге запрашивает 320, я бы хотел иметь панель мониторинга / оповещение / метрику для поиска поддельных модулей, которые соответствуют этому критерию.

Существует ли такая вещь? Самым близким, что я нашел, является grafana + promql, но в идеале было бы неплохо подготовить приборную панель или другое решение.

Я запускаю это на локальном кластере kubernetes.

1 ответ

Так что есть много возможных подходов к этому делу. Графана будет одним из них.

Прежде всего вы можете использовать запросы ресурсов и / или ограничения. В основном запросы - это зарезервированный объем памяти или ЦП для контейнеров в модуле. Ограничения, очевидно, ограничивают количество ресурсов, которые могут быть использованы. Подробнее об этом здесь. Вы также можете использовать квоты ресурсов, чтобы ограничить использование ресурсов для каждого пространства имен. Вы можете найти больше информации здесь.

Это было бы для управления ресурсами, что также важно - если вы хотите пойти дальше, есть также кластерные автомасштаберы.

Строго для мониторинга вы также можете использовать различные инструменты, как вы уже упоминали, что есть Grafana, но вы также можете использовать стек EFK. В GKE есть отличная интеграция со стекадрайвером для мониторинга кластера и компонентов, вы также можете добиться этого в AWS.

В Kubernetes также есть больше инструментов. Например:

kubectl top pod --all-namespacesпокажет вам NAMESPACE NAME CPU(cores) MEMORY(bytes) использование.

Я также написал на StackOverflow о похожей теме. Надеюсь, это будет полезно. Вы можете найти ответ здесь.

И есть также cAdvisor:

cAdvisor - это агент анализа использования ресурсов и производительности [...] контейнера с открытым исходным кодом. cAdvisor автоматически обнаруживает все контейнеры на машине и собирает статистику использования ЦП, памяти, файловой системы и сети. cAdvisor также обеспечивает общее использование компьютера, анализируя "корневой" контейнер на компьютере.

Вот интересная статья о том, как к ней подойти. Я хотел проверить еще одну вещь, связанную со сбором этой метрики, я вернусь, если найду что-то ценное.

Другие вопросы по тегам