Чем мониторить кластеры на Kubernetes: три открытых инструмента — один из них в формате игры

64
Это — наша компактная подборка бесплатных инструментов, позволяющих оценить производительность и стабильность контейнеризированных приложений.

Под катом — система мониторинга кластеров Kmoncon, среда разработки Lens с функциями бенчмаркинга, а также утилита для стресс-тестирования нодов в формате компьютерной игры.


Фото — Ellen Qin — Unsplash
 
 

Kmoncon


Это — система мониторинга подключений нодов в кластере Kubernetes. Её разработал инженер Карл Стони (Karl Stoney), который поддерживает облачную инфраструктуру и контейнеризированные приложения в Auto Trader UK (это одна из крупнейших площадок по продаже подержанных автомобилей в Великобритании).

Kmoncon проверяет подключения по TCP, UDP, а также DNS (тесты проводятся каждые пять секунд). Оценка строится на базе модифицированных метрик Prometheus — к стандартным параметрам были добавлены имена нодов и зоны доступности. Инструмент совместим с другими системами мониторинга L7-уровня, такими как Istio Observability или Kube State Metrics. По словам автора, для кластера из 75 нодов система потребляет всего 40 Мбайт оперативной памяти.


/ Скриншот дашборда Kmoncon / GitHub

Стоит отметить, что проект молодой, поэтому в его работе встречаются баги. Один из известных — медленное обновление списка нодов. Из-за этого система иногда пытается протестировать уже удаленные узлы и выдает ошибку. Автор планирует исправить этот недостаток. Он также говорит, что размеры образа Docker пока оставляют желать лучшего — 130 Мбайт.
 
 

Kube-chaos


Это — инструмент для интерактивной проверки надежности кластеров Kubernetes. Он реализован в формате компьютерной игры на движке Unity. Вы управляете виртуальным «космическим кораблем» и стреляете в светящиеся квадраты, представляющие собой реальные поды. У каждого из них есть определенный объем здоровья. Когда оно заканчивается, игра посылает команду destroy pod через kubectl и удаляет соответствующий под.


/ Геймплей Kube-chaos / GitHub

Уничтожая поды в случайном порядке, вы можете проверить, как система на это реагирует и насколько быстро она восстанавливается. Такой метод получил название Chaos Engineering.

Для установки игры на своем кластере автор предлагает использовать arkade — это CLI для Kubernetes, позволяющий развертывать приложения одной командой. Хотя стоит отметить, что проект представляет собой PoC и, вероятно, с ним не стоит работать в продакшн.
 
 

Lens


Интегрированная среда разработки (IDE) для Kubernetes, оптимизированная для работы с большим количеством подов (до 25 тыс.). Она умеет визуализировать состояние кластера в реальном времени и строить графики, отражающие задействованные ресурсы (использованы метрики Prometheus).

Lens представляет собой автономное приложение (развертка каких-либо агентов внутри кластера не требуется), которое устанавливается на компьютер с Linux, macOS или Windows. Первую версию инструмента представила компания Kontena, но сегодня его развитием занимается организация Lakend Labs. Она продвигает и поддерживает open source проекты для облачных сред.

Проект относительно молодой, но вокруг него уже сформировалось обширное сообщество. Lens — второй по популярности проект на GitHub в соответствующей категории, который имеет 8,2 тыс. звезд.
 

О чем мы пишем в нашем корпоративном блоге:

Подборка книг о кибербезопасности: как провести пентест и что противопоставить социальной инженерии
Нельзя так просто взять и «перепрошить» свой гаджет
Какие кабели соединят Африку, Азию и Австралию
Бенчмарки для Linux-серверов