В чем разница между kubernetes_sd_config (в рамках prometheus) и метрическим сервером и кубическим состоянием-метрикой?

Я прочитал несколько страниц о мониторинге k8s и нашел kubernetes_sd_config (в рамках prometheus), metrics-server (вместо heapster) и kube-state-metrics. Все они могут предоставить метрики, но какая разница?

  1. Предоставляет ли kubernetes_sd_config (в рамках prometheus) все данные, которые я могу получить, используя metrics-server и kube-state-metrics?
  2. Достаточно ли kubernetes_sd_config для мониторинга?
  3. Является ли metrics-server только для предоставления данных (меньше kubernetes_sd_config) внутренним компонентам (таким как контроллер hpa)?
  4. Метрики состояния куба только для объектов (модуль, развертывание...) в k8s?
  5. какова их собственная цель соответственно?

1 ответ

Решение

1 Metrics-сервер - это компонент уровня кластера, который периодически очищает метрики использования ЦП и памяти контейнера от всех узлов Kubernetes, обслуживаемых Kubelet, через Summary API.

Kubelet экспортирует "сводный" API, который объединяет статистику по всем модулям.

$ kubectl proxy &
Starting to serve on 127.0.0.1:8001
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}")
$ curl localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/summary

Сценарии использования:

  • Горизонтальный Pod Autoscaler:
  • kubectl top --help: команда

2 куб-состояния-метрики

ориентирован на создание совершенно новых метрик из состояния объекта Кубернетеса (например, метрики на основе развертываний, наборов реплик и т. д.). Он хранит полный снимок состояния Kubernetes в памяти и непрерывно генерирует новые метрики на его основе.

Сценарии использования

  • посчитать количество объектов k8s.
  • Сколько существует пространств имен?

sysdig-k8s-state-метрики предоставляют дополнительную информацию.

3 https://github.com/prometheus/node_exporter - Получает матрицы уровня хоста и предоставляет их Прометею.

Сценарии использования

  • Информация об уровне пространства пользователя и ядра

И, наконец, kubernetes_sd_config - это файл конфигурации, который определяет все, что относится к царапинам.

Вы можете решить в файле конфигурации, какую информацию вы хотите собрать и у кого.

Другие вопросы по тегам