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

标签 kubernetes datadog

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

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

如何将1.5M%转换为m?

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

Datadog usage

最佳答案

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

Please be aware that Kubernetes relies on Heapster to report metrics, rather than the cgroup file directly. The collection interval for Heapster is unknown which can lead to innacurate time-related data, such as CPU usage. If you require more precise metrics, we recommend using the Datadog-Docker Integration.



然后,这将取决于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时间。

关于kubernetes - 将Datadog “M%” CPU Unity转换为Kubernetes cpu unity “m”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38746266/

相关文章:

ssl - 无法列出 *v1alpha1.Order : orders. certmanager.k8s.io 被禁止

azure - Kubernetes:AKS 上的某些服务 (LoadBalancer) 的外部 IP 正在等待处理

kubernetes - kubelet进程长时间CPU占用率高

docker - DataDog Docker代理未从应用程序容器接收日志

docker - DataDog 中的容器磁盘使用情况

json - 如何使用 JQ 对 JSON 进行字符串化

out-of-memory - 微米高内存使用率

如果库存仅为本地主机,则与多个组共享 ansible 变量

datadog - 为 Datadog 浏览器日志添加标签

python kubernetes watch pod 日志不工作