Наблюдаемые политики как код: Kyverno и VictoriaMetrics¶
7.0/10
Контекст¶
Авторы проводят параллель между воспитанием детей и управлением приложениями: как детям нужны границы, так и облачным платформам нужны политики. Однако просто установить правила недостаточно — без observability enforcement превращается в «черный ящик», где непонятно, что блокируется и почему. Традиционно безопасность и observability существуют раздельно, что создает слепые зоны.
Суть¶
Решение объединяет Kyverno, Kubernetes-нативный движок политик, с VictoriaMetrics, time-series базой данных, превращая admission control в поток метрик. Авторы описывают архитектуру: установка Kyverno и VictoriaMetrics через Helm, настройка vmagent для сбора метрик с порта 8000, и развертывание «хорошего» и «плохого» приложений для демонстрации. Представлен фреймворк из пяти политик, охватывающих жизненный цикл: валидация (проверка обязательных labels), мутация (автоматическое добавление labels), генерация (создание ConfigMap при создании namespace), валидация образов (ограничение реестров) и защита от удаления. Каждая политика сопровождается примерами YAML и тестами. Ключевой момент — observability: метрики типа kyverno_admission_requests_total позволяют отслеживать пропускную способность, разрешенные/заблокированные запросы и распределение по типам ресурсов. Авторы также обсуждают управление кардинальностью метрик с помощью Cardinality Explorer в VictoriaMetrics, чтобы избежать перегрузки хранилища.
Вывод¶
Авторы утверждают, что политики — это не просто механизмы enforcement, а сигналы о поведении платформы. Наблюдая за ними, команды превращают их в операционную аналитику, что позволяет не просто писать политики, а понимать их влияние и постоянно улучшать.