Как уменьшить агрегацию загрузки процессора до 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
:
--enable-load-reader
--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
в конце перезапустить и кубелет. Вы должны сделать это на всех узлах.