如何在多个容器之间共享CPU配额?



假设我有一个有3个容器的pod:XYZ.

k8可以为pod中的每个容器设置CPU限制。但是,如果我将1000MCPU限制设置为每个容器,那么任何容器都不能使用超过1000M的CPU,即使其他两个是空闲的,这不是我想要的。

我想为pod设置3000M的CPU配额,而不是每个容器。例如,如果X,YZ可以使用3000MCPU;ifX占用1500MCPU,Y使用1000MCPU,则Z只能使用500MCPU。

那么,我的问题是:

如何在多个容器之间共享CPU配额?

我必须设置限制,因为我必须向云提供商支付我的使用费用。

在这种情况下,我建议您使用Vertical-Pod-AutoScaler以及限制范围。

LimitRange提供的约束可以:

  • 在命名空间中强制每个Pod或Container使用最小和最大的计算资源。

VPA将根据当前的使用情况尝试在limitRanges的最小和最大之间设置建议上限。

注意:确保在集群中安装了metrics-server以启用VPA。

完全不要设置CPU限制。或者把它设为更高的值。设置CPU限制只应该发生在已知需要的情况下,通常它们弊大于利。

相关内容

  • 没有找到相关文章

最新更新