Перейти к содержимому
Перейти к основному содержимому

Интеграция с Kubernetes

Агент, установленный в кластере через Helm, собирает базовую сводку состояния Kubernetes: счётчики и готовность подов, узлов, deployments и PVC. Он читает Kubernetes API через in-cluster service account с read-only правами и не требует ни привилегированных подов, ни доступа к kubelet. Шаги установки — на странице установки в Kubernetes; здесь — что именно мониторится.

Предварительные требования

  • Кластер Kubernetes и Helm 3.
  • Токен агента из дашборда, сохранённый в Kubernetes Secret.
  • Service account агента с read-only правами (get/list) на pods, nodes, deployments, persistentvolumeclaims — чарт flaree/flaree-agent настраивает это сам.

Минимальная конфигурация

helm repo add flaree https://charts.flaree.ru
helm repo update

kubectl create namespace flaree
kubectl -n flaree create secret generic flaree-agent-token \
--from-literal=token=<токен>

helm install flaree-agent flaree/flaree-agent \
--namespace flaree \
--set tokenSecret.existingSecret=flaree-agent-token

Агент запускается как Deployment, регистрируется на бэкенде и начинает отдавать метрики кластера. Обнаружив переменные KUBERNETES_SERVICE_HOST/KUBERNETES_SERVICE_PORT, он автоматически включает Kubernetes-источник; вне кластера источник молча отключается.

Полная конфигурация

Что собирает Kubernetes-источник:

МетрикаОписание
k8s.pods.total / k8s.pods.readyВсе поды и поды в состоянии Running/Ready.
k8s.nodes.total / k8s.nodes.readyУзлы и узлы с condition Ready=True.
k8s.deployments.total / k8s.deployments.readyDeployments и их готовность.
k8s.pvcs.total / k8s.pvcs.readyPersistentVolumeClaims и их статус.

Токен service account читается из стандартного пути /var/run/secrets/kubernetes.io/serviceaccount/token; путь можно переопределить настройкой источника token_path в дашборде.

Полезные переопределения чарта (values.yaml):

networkPolicy:
enabled: true
apiHost: api.flaree.ru # egress только на API Flaree + DNS
metrics:
serviceMonitor:
enabled: true # scrape метрик агента prometheus-operator-ом

Проверки http/tcp и баз данных для сервисов внутри кластера назначаются так же, как на обычном хосте: Агенты → ваш агент → Новая проверка в дашборде.

Проверка работы

  • Под агента в статусе Running, рестартов нет.
  • В логах агента нет ошибок k8s token unavailable или 403 Forbidden.
  • В дашборде метрики k8s.* появляются в списке доступных для привязки.
kubectl -n flaree get pods -l app.kubernetes.io/name=flaree-agent
# NAME READY STATUS RESTARTS
# flaree-agent-6f7c9d5b4d-x2k8p 1/1 Running 0

kubectl -n flaree logs deploy/flaree-agent --tail=50

Troubleshooting

  • Агент не регистрируется — агент offline; чаще всего NetworkPolicy блокирует egress на 443.
  • Метрики k8s.* не появляются — чек-лист нет данных; проверьте RBAC service account.
подсказка

Не выдавайте service account агента доступ к secrets или configmaps — для мониторинга достаточно read-only прав на перечисленные выше ресурсы.

Связанные страницы: Docker · метрики хоста · концепция агента.