容器是否可以以过载方式放置在 AWS ECS 中的 EC2 主机上

容器是否可以以过载方式放置在 AWS ECS 中的 EC2 主机上

我有一个实例,其中有多个 tomcat 应用程序和独立 jar 正在运行。如果机器有 2vcpu 和 8GB RAM,则各个应用程序可以按需使用资源(基于为 tomcat 和各个 jar 设置的 Xms 和 Xmx 值)。此时 ECS 不在图中。

现在我将把应用程序移到 EC2 实例(不是 fargate)上的容器中。我是否可以在任务定义中指定总和大于 EC2 主机的实际 CPU 或 RAM 的 CPU 和内存?

因为我不希望所有应用程序都利用在创建任务定义期间分配给它的 100% 内存。如果 ECS 主机有 4vcpus,我在上面放置 10 个任务,任务定义中指定 4vcpus,这样可行吗?我知道这些任务不会使用 4vcpu,但我希望如果任何任务需要使用,它们不应被限制使用主机的全部容量

我知道 ECS 具有扩展功能,我计划使用它。但我的目标是确保我不会为 ECS 提供过多的 EC2 主机数量

答案1

简短的回答是,您可以实现它,但需要注意一点。如果您配置任务定义的大小,您将无法过度使用 CPU/内存资源。但是,如果您要部署到 EC2,则可以省略任务定义中的任务大小,并且假定所有任务都能够访问所有主机容量。然后,您可以在单个容器级别微调 CPU/内存资源(保证/上限等)。这将允许您过度使用。

更长的答案是这里

相关内容