我正在使用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部署。任何建议将不胜感激。
答案 0 :(得分:1)
实际上,您不需要更新部署。 --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。您需要在所有节点上执行此操作。
答案 1 :(得分:0)
我们应该在10-kubeadm.conf
中设置两个参数:
--enable-load-reader
--housekeeping_interval=1s