【问题标题】:What to put for Kubernetes resource requests/limits?为 Kubernetes 资源请求/限制添加什么?
【发布时间】:2018-05-15 06:11:39
【问题描述】:

我已经看到 articles recommending 应该实施资源请求/限制。但是,我发现没有一个讨论关于要填写的什么数字。

例如,假设一个容器在空闲时使用零 CPU,在正常用户请求下使用 80%,在遇到一些罕见请求时使用 200% CPU:

  • 如果我将最大值 2000m 作为 CPU 请求,那么内核大部分时间都会处于空闲状态
  • 另一方面,如果我请求 800m 并且多个 pod 同时达到其 CPU 限制,则上下文切换开销将开始

也有这样的情况

  • 内部工具大部分时间处于闲置状态,然后在活跃使用时跃升至 200%
  • 具有不同高峰时间的应用程序。例如,人们在工作时间使用的 SaaS 和人们下班后开始加载的聊天机器人。如果他们可以共享未使用的容量,那就太好了。

理想情况下vertical pod autoscaler 可能会自动解决这些问题,但它今天仍处于 alpha 阶段。

【问题讨论】:

标签: kubernetes


【解决方案1】:

我一直在做的是使用 telegraf 收集资源使用情况,并在限制设置为 1 个 CPU 和两倍的内存请求时使用第 95 个百分位。

这个方法的问题是

  • 在启动期间使用多核的应用程序,然后在其整个生命周期中使用多核将需要更长的时间才能启动。我观察到 2 分钟的 Spring 启动变成了 5 分钟
  • 很少使用的应用程序将保留较少的资源,因此在调用时必须依赖突发容量。如果人气激增,这可能是个问题。

【讨论】:

    猜你喜欢
    • 2019-10-03
    • 2022-11-04
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2018-05-11
    • 2020-09-05
    相关资源
    最近更新 更多