Kubernetes 是否整合容器/Pod 以最大限度地减少资源碎片化?



我们一直在使用 AWS-ECS 来调度我们的容器。我在 ECS 中看到的最紧迫的问题是"资源碎片化"。

假设我有以下任务定义/pod,具有相应的资源要求:

  POD    CPU    Desired  Total_CPU
- task1  1024      2       2048
- task2  512       4       2048
- task3  256       1       256

(为简单起见,仅保留 CPU 要求)

如果我们考虑具有可用 CPU=2048 的 VM,则至少需要 3 个 VM 才能运行上述服务。

更进一步,为了运行蓝绿部署,理论上我们只需要一个具有 2048 个 CPU 单元的虚拟机

但是,随着部署的流逝,容器将分散在所有可用的 VM 中。由于资源不可用,这将使蓝绿部署花费太多时间(甚至失败)。

因此,要使蓝绿部署以可预测的方式工作,我们将需要在群集中提供更多额外的 VM(更多 $$$)。

我想知道 Kubernetes 是否提供了这样的功能,可以整合 pod 以保持最小的资源碎片。

Kubernetes 目前没有重新调度 Pod 以跨节点重新平衡它们,但计划已经开始在几个月后的 1.3 版本中为此目的包含重新调度程序。

最新更新