【发布时间】:2021-06-25 19:22:29
【问题描述】:
我的设置
我有一个物理节点 K8s 集群,我在其中污染了主节点,因此它也可以充当工作人员。该节点具有 Centos7,总共 512 GB 内存。我将我的实验限制在一个节点集群;一旦找到解决方案,我将在我的小型 k8s 集群上对其进行测试,其中 master 和 worker 服务位于不同的节点上。
我要做什么
我想监控 pod 级别的资源利用率(CPU 和内存)。我正在启动一个以 1GBPS 的速率消耗内存的 pod;在大约 100 秒内,内存利用率达到 100GB,此时应用程序达到稳定状态。从那时起,它会一直运行直到被触发器杀死。
我现在在哪里
启动 k8s 度量服务器后;我能够做到kubectl top pods,它显示每个 pod CPU 和内存利用率。然而,这些利用率数字不会经常更新。我试图测量 k8s 更新这些遥测数据需要多长时间,采样间隔似乎接近 1 分钟或 60 秒。
我厌倦了查看 https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ 以找出各种采样间隔。有一些参数可能会影响遥测采样率;但它们最多设置为~20s(默认值)。我没有更改任何 Kubelet 设置。
我的问题
为什么kubectl top pods 需要大约一分钟来更新资源利用率数字。?如何缩短此间隔并进行频繁更新。
【问题讨论】:
标签: kubernetes kubectl kubelet