Kubernetes 是否合并 containers/pods 以最小化资源碎片?
Does Kubernetes consolidate containers/pods in order to minimize resource fragmentation?
我们一直在使用 AWS-ECS 来调度我们的容器。我在 ECS 中看到的最紧迫的问题是 'resource fragmentation'.
假设我有以下任务 definitions/pods 以及相应的资源要求:
POD CPU Desired Total_CPU
- task1 1024 2 2048
- task2 512 4 2048
- task3 256 1 256
(为简单起见,仅保留 CPU 个要求)
如果我们考虑可用的 VM CPU=2048,我们至少需要 3 个 VM 才能获得上述服务 运行。
更进一步,对于 运行 蓝绿部署,我们理论上只需要 一个 VM 和 2048 CPU 个单元。
但是,随着部署的进行,容器将分散在所有可用的 VM 中。由于资源不可用,这将使蓝绿部署花费太多时间(甚至失败)。
因此,要使蓝绿部署按预期工作,我们需要在集群中 更多额外的 VM(更多 $$$)。
我想知道 Kubernetes 是否提供这样的功能来整合 pods 以保持最小的资源碎片。
Kubernetes 目前没有重新安排 pods 以在节点之间重新平衡它们,但是 planning has begun to include a rescheduler 几个月后我们的 1.3 版本中会为此目的
我们一直在使用 AWS-ECS 来调度我们的容器。我在 ECS 中看到的最紧迫的问题是 'resource fragmentation'.
假设我有以下任务 definitions/pods 以及相应的资源要求:
POD CPU Desired Total_CPU
- task1 1024 2 2048
- task2 512 4 2048
- task3 256 1 256
(为简单起见,仅保留 CPU 个要求)
如果我们考虑可用的 VM CPU=2048,我们至少需要 3 个 VM 才能获得上述服务 运行。
更进一步,对于 运行 蓝绿部署,我们理论上只需要 一个 VM 和 2048 CPU 个单元。
但是,随着部署的进行,容器将分散在所有可用的 VM 中。由于资源不可用,这将使蓝绿部署花费太多时间(甚至失败)。
因此,要使蓝绿部署按预期工作,我们需要在集群中 更多额外的 VM(更多 $$$)。
我想知道 Kubernetes 是否提供这样的功能来整合 pods 以保持最小的资源碎片。
Kubernetes 目前没有重新安排 pods 以在节点之间重新平衡它们,但是 planning has begun to include a rescheduler 几个月后我们的 1.3 版本中会为此目的