首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁停止并启动ECS任务?并通知ECS服务

谁停止并启动ECS任务?并通知ECS服务
EN

Stack Overflow用户
提问于 2019-12-29 00:28:40
回答 1查看 106关注 0票数 0

下面是应用程序的ECS任务定义:

代码语言:javascript
复制
  SomeappTaskDefinition:
    Type: "AWS::ECS::TaskDefinition"
    Properties:
      ContainerDefinitions:

        - Name: someapp
          Image: someaccounthub/someapp
          Memory: 450
          Environment:
            - Name: DJANGO_SETTINGS_MODULE
              Value: someapp.settings.release
            - Name: MYSQL_HOST
              Value: { "Fn::GetAtt": ["DbInstance", "Endpoint.Address"] }
            - Name: MYSQL_USER
              Value: { "Ref": "DbUsername" }
            - Name: MYSQL_PASSWORD
              Value: { "Ref": "DbPassword" }
          MountPoints:
            - ContainerPath: /var/www/someapp
              SourceVolume: webroot
          Command:
            - uwsgi
            - "--socket /var/www/someapp/someapp.sock"
            - "--chmod-socket=666"
            - "--module someapp.wsgi"
            - "--master"
            - "--die-on-term"

        - Name: nginx
          Image: someaccounthub/someapp-nginx
          Memory: 300
          PortMappings:
            - ContainerPort: "8000"
              HostPort: "8000"
          MountPoints:
            - ContainerPath: /var/www/someapp
              SourceVolume: webroot

      Volumes:
        - Name: webroot
          Host:
            SourcePath: /ecs/webroot

它是在ECS优化的ami实例(EC2)上启动的。Docker守护进程正在ECS优化的ami实例(EC2)中运行。

不包括创建ECS服务(AWS::ECS::Service)和ECS集群(AWS::ECS::Cluster)的AWS::ECS::Service代码,因为此查询不需要此代码。

ECS服务- AWS::ECS::Service资源类型

ECS实例- AWS::EC2::Instance资源类型

1) ECS服务是否负责将新任务定义部署到ECS实例上?通过与ECS实例中运行的ECS代理对话。

2)运行在ECS实例中的ECS代理是否负责停止并启动现有运行的ECS任务(SomeappTaskDefinition)?并告知该服务取决于ECS服务。

3)运行在ECS实例中的ECS代理是否负责在ECS实例中运行对码头守护进程的请求,以从码头回购中提取码头映像someaccthub/someapp?在开始执行ECS任务时

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 04:00:28

1)是的,您的任务定义配置了适当的ECR存储库版本。集群下的服务负责确保正确的任务在EC2实例中启动和运行。

2)是的,根据集群的定义,亚马逊/也是EC2上的一个码头容器,它将确保在您的EC2上运行健康的任务(即码头容器)。

3)不完全,代理只会确保保持码头集装箱的相关任务定义,服务是在ECR内配置的。而不是拿起任何其他的储存库。只有当您更新群集的服务时,它才会更新。

ecs代理负责拉动和运行。但是,假设您的任务定义版本为1,并且任务定义的版本1配置了一个停靠者映像(例如版本1),并且您的ECS集群配置了一个带有任务定义v1的服务。在这种情况下,代理只会确保任务定义v1的拉动和运行。如果希望由代理管理不同的码头映像,请执行以下操作。您必须相应地更新您的定义和服务。

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

https://stackoverflow.com/questions/59516017

复制
相关文章

相似问题

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