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

Подключение Kubernetes

Для сбора данных из Kubernetes в кластер устанавливается агент — лёгкий демон, который каждые 30 секунд опрашивает Prometheus и отправляет метрики в OpsMan AI.

  • Kubernetes 1.24+.
  • В кластере установлен prometheus-server с kube-state-metrics и node-exporter. Это стандартный набор для любого мониторинга; если он у вас уже есть, отдельно ничего настраивать не нужно.
  • Helm 3.x на рабочей машине инженера.
  • Egress с пода агента до API платформы OpsMan AI (по HTTPS, 443).
  1. Войдите в консоль OpsMan AI.

  2. Откройте Cluster list → Get started: connect more clusters or clouds → Connect Kubernetes. Либо перейдите в Settings → Integrations → Kubernetes Clusters → + Add.

    Connect Kubernetes

  3. В модале вы увидите готовую Helm-команду с подставленным company token. Скопируйте её — выполнять будем в своём кластере.

В команде из консоли уже заполнены все необходимые параметры. Выполните её в терминале с активным kubectl-контекстом нужного кластера:

Окно терминала
helm repo add opsman https://charts.opsman.ai
helm repo update
helm upgrade --install opsman-agent opsman/metrics-collector \
--namespace opsman --create-namespace \
--set env.TOKEN="<company_token>" \
--set env.API_SERVICE_URL="https://api.opsman.ai" \
--set env.PROMETHEUS_URL="http://prometheus-server.monitoring.svc.cluster.local" \
--set env.CLUSTER="prod-eu-1"

Что заменить:

  • <company_token> — приходит из консоли (не меняйте).
  • API_SERVICE_URL — для on-premise замените на адрес вашей платформы (например, https://api-opsman.company.com).
  • PROMETHEUS_URL — адрес Prometheus внутри кластера. Пример выше подходит для большинства стандартных установок.
  • CLUSTER — произвольный идентификатор кластера, который будет виден в консоли (например, prod-eu-1, staging-kz, dev-1).
  1. Посмотрите статус пода:

    Окно терминала
    kubectl -n opsman get pods -l app=metrics-collector

    Pod должен быть Running.

  2. Проверьте логи:

    Окно терминала
    kubectl -n opsman logs deploy/metrics-collector --tail=50

    В логах должны быть строки:

    • API URL: https://...
    • token prefix: XXXXXXXX...
    • каждые 30 секунд — pods sent: N, workloads sent: N, workers sent: N.
  3. Вернитесь в консоль OpsMan AI. В Cluster list появится новая строка с именем из CLUSTER и статусом active.

  • CPU request / limit / usage (в cores).
  • Memory request / limit / usage (в bytes).
  • Network RX/TX (bytes).
  • Привязку к ноде.
  • Число подов.
  • Суммарные request / limit по CPU и memory.
  • Список нод, на которых запущены поды workload.
  • Capacity и allocatable (CPU, memory).
  • Использование.
  • Число подов на ноде.

Типичные требования к агенту:

  • CPU limit: 500m (0.5 cores).
  • Memory limit: 512Mi.
  • Одна реплика.

Для кластеров с более чем 2000 подов увеличьте limits до 1 CPU и 1Gi memory.

Окно терминала
helm uninstall opsman-agent -n opsman
kubectl delete namespace opsman

Исторические данные по кластеру останутся в платформе, но новые перестанут поступать. Кластер в консоли можно удалить вручную: Cluster list → корзина.