Запрос значений метрик-сервера kubernetes - PullRequest
1 голос
/ 15 апреля 2019

Я использую сервер метрик (https://github.com/kubernetes-incubator/metrics-server/) для сбора метрик ядра из контейнеров в кластере kubernetes.

Я могу получить 2 метрики использования ресурсов на контейнер.

  • использование процессора
  • использование памяти

Однако мне не ясно, является ли

  • эти метрики накапливаются с течением времени или они уже взяты для определенного временного окна (1 минута / 30 секунд ..)

  • Каковы единицы для вышеуказанных значений метрики. Для использования процессора это количество ядер или миллисекунды? А для использования памяти я предполагаю использование байтов.

  • При вычислении значения показателя использования ЦП сервер метрик уже позаботился о разделении использования контейнера на использование хост-системы?

Кроме того, если мне нужно сравнить эти метрики с метриками docker-api, как рассчитать% использования ЦП для данного контейнера?

Спасибо!

1 Ответ

0 голосов
/ 13 июня 2019
  1. Метрики периодически соскребаются с кубелец. Длительность разрешения по умолчанию составляет 60 с, которая может быть изменена с помощью флага --metric-resolution=<duration>.
  2. Значение и единица измерения (процессор - ядра в десятичной СИ, память - байты в двоичной СИ) получены с использованием сериализатора Quantity в пакете k8s apimachinery . Об этом можно прочитать в комментариях в исходном коде
  3. Нет, показатель ЦП не относится к использованию хост-системы, так как вы можете видеть, что это не процентное значение. Он представляет собой скорость изменения общего количества процессорных секунд, потребляемых контейнером ядром. Если это значение увеличивается на 1 в течение одной секунды, модуль потребляет 1 процессорное ядро ​​(или 1000 миллиядер) в эту секунду.
    Чтобы получить относительное значение, в зависимости от вашего варианта использования, вы можете разделить метрику ЦП для модуля на единицу для узла, поскольку сервер метрик предоставляет как конечные точки /pods, так и /nodes.
...