如何在 cAdvisor 中将 CPU 负载聚合减少到 1 秒而不是 10 秒?
How to decrease CPU load aggregation to 1s instead of 10s in cAdvisor?
我正在使用 Kubernetes 最新版本(多节点集群上的裸机),我可以使用 Kubernetes 指标 API 获取 cAdivsor 指标。我可以看到 cAdvisor 提供了 container_cpu_load_average_10s
指标,从它的名字来看,它是 CPU 在 10 秒内加载的聚合。
有什么办法可以将 aggregation/granularity
时间缩短到 1 秒吗? (有类似 container_cpu_load_average_1s
的东西)
P.S: API 我使用的端点是 https://<my_k8s_ip>:6443/api/v1/nodes/kubernetes3/proxy/metrics/cadvisor
更新: 我刚刚发现有一个 --housekeeping_interval
参数,但需要确定它是否可行,如果是,那我怎么能在我当前的 Kubernetes 部署中更改它。如有任何建议,我们将不胜感激。
实际上您不需要更新您的部署。 --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
,重启kubelet。您需要在所有节点上执行此操作。
我们应该在 10-kubeadm.conf
中设置两个参数:
--enable-load-reader
--housekeeping_interval=1s
我正在使用 Kubernetes 最新版本(多节点集群上的裸机),我可以使用 Kubernetes 指标 API 获取 cAdivsor 指标。我可以看到 cAdvisor 提供了 container_cpu_load_average_10s
指标,从它的名字来看,它是 CPU 在 10 秒内加载的聚合。
有什么办法可以将 aggregation/granularity
时间缩短到 1 秒吗? (有类似 container_cpu_load_average_1s
的东西)
P.S: API 我使用的端点是 https://<my_k8s_ip>:6443/api/v1/nodes/kubernetes3/proxy/metrics/cadvisor
更新: 我刚刚发现有一个 --housekeeping_interval
参数,但需要确定它是否可行,如果是,那我怎么能在我当前的 Kubernetes 部署中更改它。如有任何建议,我们将不胜感激。
实际上您不需要更新您的部署。 --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
,重启kubelet。您需要在所有节点上执行此操作。
我们应该在 10-kubeadm.conf
中设置两个参数:
--enable-load-reader
--housekeeping_interval=1s