假设我有一个包含 3 个容器的 Pod:X
、Y
和 Z
。
K8S 可以为 Pod 中的每个容器设置 CPU 限制。但是,如果我为每个容器设置 1000M
CPU 限制,那么即使其他两个是 ilde,任何容器也不能使用超过 1000M
个 CPU,这不是我想要的。
我想为 Pod 而不是每个容器设置 3000M
的 CPU 配额。例如,如果 X
和 Y
空闲,< strong>Z
可以使用 3000M
CPU;如果 X
正在使用 1500M
CPU,Y
正在使用1000M
CPU,那么 Z
只能使用 500M
CPU。
所以,我的问题是:
如何在多个容器之间共享 CPU 配额?
答案 0 :(得分:2)
我必须设置限制,因为我必须向云提供商支付使用费。
在这种情况下,我建议您将 Vertical-Pod-AutoScaler 与 Limit Range 一起使用。
LimitRange
提供的约束可以:
并且 VPA 将尝试根据当前使用情况将建议上限设置在 limitRanges
的最小值和最大值之间。
注意:确保您在集群中安装了 metrics-server 以启用 VPA。
答案 1 :(得分:0)
根本不要设置 CPU 限制。或者将其设置为更高的值。设置 CPU 限制应该只在已知需要的情况下进行,通常它们弊大于利。