【问题标题】:Running ECS service on 2 container instances (ECS instances)在 2 个容器实例(ECS 实例)上运行 ECS 服务
【发布时间】:2023-03-30 01:53:01
【问题描述】:

我有一个 ECS 服务,它要求它应该在恰好 2 个容器实例上运行。如何做到这一点?我在容器定义中找不到任何特定位置,我可以在其中修复 ECS 实例的数量。

【问题讨论】:

  • A 因为 ECS 服务只能在一个实例上运行。所以不清楚你想对两个实例做什么?运行相同 ecs 服务的两个副本?
  • @Marcin.. 我不清楚一件事。是不是每个 ECS 任务都单独运行在一个容器实例上?我的意思是,如果我们说一个服务有 5 个任务,这 5 个任务在 5 个不同的容器实例上运行?
  • 我明白你的意思。你想让一个服务运行两个相同任务的副本吗?是的,那么您可以在不同的实例上运行它们。
  • 对。可以运行单个服务的多个任务副本。我有一个类似的场景。我的问题是,每个任务副本会在一个容器上运行吗?
  • 我记得,Fargate 启动类型支持许多任务,但 Fargate 有一些限制。我觉得你可以考虑一下。

标签: amazon-web-services amazon-ecs


【解决方案1】:

有几种方法可以实现这一点。一种是在 Fargate 上部署您的 ECS 服务。当您这样做并将任务计数设置为 2 时……ECS 会将您的 2 个任务部署到由 AWS 管理的 2 个独立且专用的操作系统/VM 上。永远不能将两个或更多任务并置到这些 VM 之一。它始终是 1 个任务:1 个 VM 关系。

如果您使用 EC2 作为启动类型,并且希望确保您的服务为每个实例准确部署 1 个任务,最简单的方法是将您的 ECS 服务配置为类型 DAEMON。在这种情况下,您甚至不需要(或不能)配置服务中的任务数量,因为 ECS 将始终为属于集群的每个 EC2 实例部署 1 个任务。

【讨论】:

    【解决方案2】:

    在创建服务时,您会发现字段 Number of tasks 表示您确切想要多少个容器。如果你写 1 ,它只会启动 1 ,如果你写 2 ,它将启动 2 。希望大家理解

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 1970-01-01
      • 2019-11-08
      • 2016-09-14
      • 1970-01-01
      • 2021-08-10
      • 2019-12-23
      • 2019-05-26
      • 2020-12-25
      相关资源
      最近更新 更多