多租户kubernetes集群中的自动缩放

时间:2018-01-23 05:11:00

标签: kubernetes scaling autoscaling

我在EC2上设置kubernetes集群,我有以下要求。

  1. 支持具有预定义上限(资源利用率)的多个租户。
  2. 根据当前使用情况扩大和缩小群集。
  3. 我知道第1点可以通过resource-quota实现,资源配置页面也讨论了通过编写自定义控制器来扩展集群。我可以简单地用它来缩小吗?有没有可用的开源实现?

    Kubernetes为自动扩展群集提供cluster-autoscaler,当我有多个命名空间时它是否有效?缩小如何影响命名空间的资源配额?

    如果总可用资源少于所有名称的资源配额总和会怎样?

1 个答案:

答案 0 :(得分:0)

Cluster Autoscaler确保群集中的所有pod都有足够的空间,无论它们运行的​​命名空间如何。基本上,如果由于资源不足而无法安排Pod,CA将添加更多节点。如果存在未充分利用的节点,CA可能会将其删除。它与配额正交。

更具体地说:配额是限制多少“东西”的机制。可以在命名空间中创建。他们不检查群集中是否存在实际资源 - 只强制执行每个命名空间限制。如果你超过限制,你就无法创建pod。如果您处于限制之下,则可以创建它,无论群集中是否有空间。如果没有空间并且您运行自动调节器,则会添加更多节点以腾出空间。如果没有空间并且您没有自动定标器,则您的吊舱将保持待定状态'直到其他东西被删除。

实际的群集大小(以及向上或向下扩展群集)对配额没有任何影响。