Как уменьшить агрегацию загрузки процессора до 1 с вместо 10 с в cAdvisor?

Я использую последнюю версию Kubernetes ("голое железо" в многоузловом кластере) и могу получать метрики cAdivsor с помощью API метрик Kubernetes. Я вижу, что cAdvisor предоставляет container_cpu_load_average_10s метрика, которая от своего имени, это агрегация загрузки процессора в 10 секунд.

Есть ли способ уменьшить это aggregation/granularity время до 1с? (имея что-то вроде container_cpu_load_average_1s)

PS: конечная точка API, которую я использую, https://<my_k8s_ip>:6443/api/v1/nodes/kubernetes3/proxy/metrics/cadvisor

ОБНОВЛЕНИЕ: я только узнаю, что есть --housekeeping_interval параметр, но нужно выяснить, если это путь, и если так, то как я могу изменить его в моем текущем развертывании Kubernetes. Любое предложение будет оценено.

2 ответа

Решение

Мы должны установить два аргумента в 10-kubeadm.conf:

  1. --enable-load-reader
  2. --housekeeping_interval=1s

На самом деле вам не нужно обновлять ваше развертывание. --housekeeping_interval это параметр kubelet, Вам нужно просто добавить --housekeeping_interval=1s запустить скрипт kubelet, Конфиг файл для запуска kubelet обычно находится в /etc/systemd/system/kubelet.service.d/10-kubeadm.conf, Просто обновите строку:

ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS --housekeeping_interval=1s

Добавить --housekeeping_interval=1s в конце перезапустить и кубелет. Вы должны сделать это на всех узлах.

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