Интеграция с 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.ready | Deployments и их готовность. |
k8s.pvcs.total / k8s.pvcs.ready | PersistentVolumeClaims и их статус. |
Токен 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 · метрики хоста · концепция агента.