【问题标题】:K8s metric server - pod telemetry update frequency too highK8s metric server - pod遥测更新频率太高
【发布时间】: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


    【解决方案1】:
    • 为什么kubectl top pods 需要大约一分钟来更新资源利用率数字?

      这是因为metric server的默认分辨率设置为60s。

    • 如何缩短此间隔并频繁更新?

      您可以使用--metric-resolution=<duration> 标志更改分辨率。 但是不建议设置低于 15s 的值,因为这是 Kubelet 计算的指标分辨率。

      spec:  
        containers:  
        - command:  
          - /metrics-server  
          - --metric-resolution=15s
      

      参考:How ofter metrics are scraped

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 2018-05-05
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多