代码之家  ›  专栏  ›  技术社区  ›  Kannaiyan

如何为容器设置正确的CPU毫核?

  •  1
  • Kannaiyan  · 技术社区  · 6 年前

    我想优化配置CPU核心,而不是过度或不足分配。如何测量给定容器所需的CPU毫核?它还带来了一个问题:基于cpu消耗,一个代理将向任何给定的pod发送多少流量,这样我们就可以最佳地使用计算。

    目前我发送请求和监视器,

    kubectl top pod
    

    是否有任何工具可以测量、请求、cpu和内存,并为pods提供最佳cpu建议。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Ryan Dawson    6 年前

    随着时间的推移和每个吊舱的监测是的,有建议在 https://kubernetes.io/docs/tasks/debug-application-cluster/resource-usage-monitoring/ 其中比较流行的是普罗米修斯格拉法纳组合- https://grafana.com/dashboards/315

    至于自动提出的要求和限制,我认为没有什么。请记住,库伯内特斯已经试图平衡给每一个豆荚它需要什么,而不需要太多。您设置的限制和请求将帮助它更安全地执行此操作。在自动推理方面有一些限制,因为资源不足的吊舱仍然可以工作,但响应速度会慢一点——这取决于你决定你能容忍多慢。在峰值负载下,您还可以决定什么级别的资源消耗是可以接受的,而不是过度消耗,这可能表明您的应用程序中存在错误,甚至是攻击。还有一个进一步的限制,因为度量单位本身是一种估算资源能力的尝试,这种能力实际上可以随着硬件类型的不同而变化(内存和CPU的操作模式和数量可能不同),因此如果硬件不是不都一样。

    在我看来,你对托普的所作所为是一个很好的开始。无论如何,您都需要监视集群的资源使用情况,因此跟踪此情况并在运行时调整限制是一个好主意。如果您可以在kubernetes之外运行同一个应用程序,并四处阅读以了解使用同一语言的其他应用程序的功能,那么这将有助于说明您是否可以做些什么来提高利用率(例如,容器中jvm的内存消耗需要进行一些调整以获得GHT)。