如何在cAdvisor中将CPU负载聚合降低到1s而不是10s?

时间:2018-08-02 18:32:38

标签: performance docker kubernetes monitoring cadvisor

我正在使用Kubernetes最新版本(多节点集群上的裸机),并且可以使用Kubernetes指标API获取cAdivsor指标。我可以看到cAdvisor提供了container_cpu_load_average_10s度量标准,顾名思义,它是10秒钟内CPU负载的汇总。

有什么方法可以将这段aggregation/granularity的时间减少到1s? (类似于container_cpu_load_average_1s

PS:我正在使用的API端点为https://<my_k8s_ip>:6443/api/v1/nodes/kubernetes3/proxy/metrics/cadvisor

更新:我只是发现有一个--housekeeping_interval参数,但需要确定这是否可行,如果可以的话,如何在当前版本中进行更改Kubernetes部署。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

实际上,您不需要更新部署。 --housekeeping_intervalkubelet的参数。您只需将--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,然后重新启动kubelet。您需要在所有节点上执行此操作。

答案 1 :(得分:0)

我们应该在10-kubeadm.conf中设置两个参数:

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