将Datadog“M%”CPU Unity转换为Kubernetes cpu unity“m”

时间:2016-08-03 14:19:56

标签: kubernetes datadog

我必须为我的kubernetes应用设置资源限制,他们使用“milicore”统一“m”。

在Datadog中分析我的应用程序时,我看到一个统一名为M%的CPU使用率。

如何将1.5M%转换为m?

Kubernetes资源:http://kubernetes.io/docs/user-guide/compute-resources/

Datadog usage

1 个答案:

答案 0 :(得分:1)

这不是检测正确资源限制的正确图表。您的图表显示了群集中应用的CPU使用率,但资源限制是每个pod(容器)。我们(以及您也是)从图表中不知道有多少容器正在运行。您可以从容器CPU使用情况图中确定正确的CPU限制。您将需要Datadog-Docker集成:

  

请注意,Kubernetes依靠Heapster报告指标,   而不是直接的cgroup文件。收集间隔为   Heapster是未知的,可能导致与时间相关的数据,   比如CPU使用率。如果您需要更精确的指标,我们建议您   使用Datadog-Docker集成。

然后,这将取决于Datadog如何衡量每个容器的CPU利用率。如果容器CPU利用率最大为100%,那么100%CPU容器利用率~1000m~1。

我建议您阅读cgroup如何以及何时限制CPU - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpu.html

您需要深入了解才能设置正确的CPU限制。如果您不需要确定任何容器的优先级,那么恕我直言,最佳做法是为所有容器设置1(resources.requests.cpu) - 它们将始终等于CPU时间。