Я работаю в кластере Kubernetes, где сейчас около 95% процессоров и 90% памяти выделены под поды. Однако, согласно Kubernetes Dashboard, общая мгновенная загрузка ЦП в кластере составляет всего около 5% от общего количества ядер в кластере, а общая используемая память составляет всего около 33% от общей памяти в кластере. Так ясно, что некоторые и, возможно, большинство поды, работающие в кластере, сильно перегружены; большая часть запрошенных ЦП и памяти фактически не используется в любой момент времени.
Как мне узнать который больше всего в этом виноваты стручки? Панель инструментов покажет мне, сколько ресурсов каждого узла выделено и какие ресурсы фактически используются в каждом запущенном модуле. Но чтобы увидеть запросы стручка, я должен kubectl describe
Это; Я нигде не могу найти запросы на панели инструментов. Более того, когда модуль завершает работу и очищается, он исчезает, и я не знаю, как задать такие вопросы, как «Какая часть запрошенной памяти использовалась этим готовым модулем на пике?», или «Сколько часов работы в ядре этот модуль запросил, но не использовал за время своего существования?».
Какие существуют инструменты для поиска и диагностики потраченных впустую, запрашиваемых, но не потребленных ресурсов в кластерах Kubernetes? И какие передовые методы следует использовать для подбора модулей под рабочие нагрузки? Я думаю, что мы попали в эту ситуацию, позволив всем пользователям просто удваивать свои запросы ресурсов, пока их поды не перестанут выселяться.
Этого можно достичь с помощью Вертикальный модуль автомасштабирования (VPA)
Даже если ты бежишь HPA Вы можете включить режим рекомендаций, который будет рассчитывать рекомендуемые требования к ресурсам для модулей, ничего не меняя автоматически.
После монтаж система готова рекомендовать и устанавливать запросы ресурсов для ваших подов. Чтобы использовать его, вам нужно вставить Вертикальный модуль автомасштабирования ресурс для каждого контроллера, для которого требуется автоматическое вычисление требований к ресурсам. Чаще всего это будет Развертывание. Есть три режима, в которых VPA работать:
...
"Off"
: VPA не изменяет автоматически требования к ресурсам модулей. Рекомендации рассчитываются и могут быть проверены в объекте VPA.
Альтернативные способы достижения этого могут быть выполнены с помощью графана.
В случае кластера GKE на GCP есть обозреватель показателей.
Надеюсь, поможет.