【发布时间】:2023-03-24 22:11:01
【问题描述】:
我希望将 GKE 集群中的核心数保持在 3 以下。如果 K8s 复制控制器和 pod 的 CPU 限制从 100m 减少到最多 50m,这将变得更加可行。否则,仅 K8s pod 就占用了一个内核的 70%。
我决定不增加节点的 CPU 能力。在我看来,这在概念上是错误的,因为 CPU 限制被定义为以内核为单位来衡量。相反,我做了以下事情:
- 将 limitranges/limits 替换为默认 CPU 限制为“50m”的版本(不是必需的,但我认为更简洁)
- 修补 kube-system 命名空间中的所有复制控制器以将 50m 用于所有容器
- 删除他们的 pod
- 将 kube-system 命名空间中的所有非 rc pod 替换为所有容器使用 50m 的版本
这是一项繁重的工作,而且可能很脆弱。即将发布的 K8s 版本的任何进一步更改,或 GKE 配置的更改,都可能会破坏它。
那么,有没有更好的办法呢?
【问题讨论】:
标签: kubernetes limits google-kubernetes-engine