查询kubernetes指标-服务器指标值

时间:2019-04-15 08:00:41

标签: kubernetes metrics docker-api

我正在使用metrics-server(https://github.com/kubernetes-incubator/metrics-server/)从kubernetes集群中的容器中收集核心指标。

我可以为每个容器获取2个资源使用指标。

  • CPU使用率
  • 内存使用情况

但是我不清楚是否

  • 这些指标是随时间累积的,或者已经在特定时间范围(1分钟/ 30秒..)中对其进行了采样。

  • 上述度量值的单位是什么。对于CPU使用率,是内核数还是毫秒数?对于内存的使用,我假设它是字节的使用。

  • 在计算CPU使用率指标值时,metrics-server是否已经负责将容器使用率除以主机系统使用率?

此外,如果我必须将这些指标与docker-api指标进行比较,那么如何计算给定容器的CPU使用率%?

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 定期从kubelet中删除指标。默认解析时间为60秒,可以用--metric-resolution=<duration>标志覆盖。
  2. 使用k8s apimachinery软件包中的Quantity序列化器,可以得出值和单位(cpu-十进制SI的内核,内存-二进制SI的字节)。您可以从source code
  3. 中的评论中了解到
  4. 否,CPU指标与主机系统使用率无关,因为您可以看到它不是百分比值。它表示容器按核心消耗的CPU秒总数的变化率。如果此值在一秒钟内增加1,则pod在该秒内消耗1个CPU内核(或1000毫内核)。
    要获得相对值,具体取决于您的用例,您可以将pod的CPU指标除以该节点的CPU指标,因为metrics-server公开了/pods/nodes两个端点。