Kubernetes

Наблюдаемость в Kubernetes: с чего начать

Когда команда впервые переезжает в Kubernetes, соблазн велик: включить всё подряд и утонуть в тысячах метрик. На практике для уверенной эксплуатации хватает небольшого, но правильно выбранного набора сигналов.

Три уровня, которые стоит видеть

  • Кластер. Доступность узлов, давление по CPU и памяти, состояние подов (Pending, CrashLoopBackOff).
  • Рабочие нагрузки. Рестарты контейнеров, использование ресурсов относительно лимитов, готовность реплик.
  • Приложение. Классические золотые сигналы: трафик, ошибки, задержка и насыщение.

Минимальный набор алертов

Не пытайтесь покрыть всё сразу. Начните с того, что точно требует реакции человека:

# под не может стартовать
kube_pod_status_phase{phase="Pending"} > 0 for 10m

# контейнер циклически падает
rate(kube_pod_container_status_restarts_total[15m]) > 0

Подключение в DevSec

Агент DevSec ставится в кластер Helm-чартом и сам обнаруживает экспортёры. Шаги — в разделе установки:

helm install devsec-agent devsec/agent \
  --set token=$DEVSEC_TOKEN --set cluster=prod

После установки данные сразу появляются на дашборде, а готовый шаблон для Kubernetes даёт обзор кластера без ручной настройки.

Чего избегать

  • Алертов без чёткого действия — они быстро превращаются в шум.
  • Дашбордов «на всякий случай», которые никто не открывает.
  • Слишком коротких окон — мгновенные всплески дают ложные срабатывания.

Хороший мониторинг кластера — это не максимум графиков, а минимум сигналов, на которые вы реально реагируете. Начните с DevSec и расширяйте набор по мере необходимости.