1

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

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

如何将 1.5M% 转换为 m?

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

数据狗的使用

4

1 回答 1

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 限制。如果您不需要优先考虑任何容器,那么恕我直言,最佳做法是resources.requests.cpu为所有容器设置 1 ( ) - 它们将始终具有相同的 CPU 时间。

于 2016-08-03T20:23:06.783 回答