首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AWS ECS集群的服务中运行AWS ECS任务,而不超出循环CI的“aws/ run -任务”中的服务

如何在AWS ECS集群的服务中运行AWS ECS任务,而不超出循环CI的“aws/ run -任务”中的服务
EN

Stack Overflow用户
提问于 2020-10-31 18:10:16
回答 1查看 1.3K关注 0票数 2

我使用循环CI构建映像并将其推送到AWS ECR,然后使用此映像在AWS ECS集群内的服务中部署容器(以FARGATE为实例)。问题是,这些任务在此服务之外运行,但在同一个集群中。

下面是由AWS自动启动的任务:

具有一个名为service:adp-ecs-service的组是运行在服务内部的一个,而具有组adp-ecs-service的是运行在服务外部的那个。有一个组名为service:adp-ecs-service的程序将自动重新启动,在ECR中标记为'latest_ci‘的图像将被重新启动,如果我停止它,但另一个将不会启动。而且这个服务一次只能有一个服务。

通过查看此图像中的组,我尝试以多种方式在“group”文件中的config.yml标记中指定服务的名称,但没有结果。下面是我尝试过的所有内容(您可以在提交的这里中看到这些):

  1. “服务:adp-ecs-服务”
  2. 服务:adp-ecs-服务
代码语言:javascript
复制
An error occurred (InvalidParameterException) when calling the RunTask operation: Invalid namespace for group.
  1. adp-ecs-服务
  2. 服务

它们都在服务之外运行任务(在上面所示的图像中可以看到3的输出。我甚至尝试过1和2的环境变量。

下面是“/.循环往复/config.yml”中“aws/run-task”的代码(完整的文件可以找到这里):

代码语言:javascript
复制
      - aws-ecs/run-task:
          requires:
            - aws-ecr/build-and-push-image
          task-definition: 'adp-ecs-family'
          group: adp-ecs-service
          cluster: 'adp-cluster'
          aws-access-key-id: AWS_ACCESS_KEY_ID
          aws-secret-access-key: AWS_SECRET_ACCESS_KEY
          aws-region: 'ap-south-1'
          awsvpc: true
          launch-type: FARGATE
          subnet-ids: $AWS_SUBNETS
          security-group-ids: $AWS_ADP_SG
          started-by: 'circle-ci'
          assign-public-ip: ENABLED

以下是服务:

正如您在上面的图片中所看到的,正在运行的任务计数和所需的任务计数是1,但是在这个集群中有两个任务在运行,一个在服务之外。

这里我想要的是,如果我在服务中运行一个新任务,它应该通过停止上一个任务从ECR中提取最新的映像来启动容器。那么,我如何正确地指定服务的名称并完成这个任务呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-01 04:33:52

简单地说,aws/run-任务不是您想要的。您需要将新的任务定义部署到服务,而不是运行它。

您正在寻找aws/部署-服务-更新更新-任务定义,如果您还没有。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64624975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档