Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 谁停止和启动ECS任务?并通知ECS服务_Amazon Web Services_Amazon Ec2_Amazon Cloudformation_Amazon Ecs - Fatal编程技术网

Amazon web services 谁停止和启动ECS任务?并通知ECS服务

Amazon web services 谁停止和启动ECS任务?并通知ECS服务,amazon-web-services,amazon-ec2,amazon-cloudformation,amazon-ecs,Amazon Web Services,Amazon Ec2,Amazon Cloudformation,Amazon Ecs,以下是应用程序的ECS任务定义: SomeappTaskDefinition: Type: "AWS::ECS::TaskDefinition" Properties: ContainerDefinitions: - Name: someapp Image: someaccounthub/someapp Memory: 450 Environment: - Nam

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

  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
)的云信息代码,因为此查询不需要此代码


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

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

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

(二) 在ECS实例中运行的ECS代理是否负责停止和启动当前正在运行的ECS任务(
SomeappTaskDefinition
)?并告知服务由ECS服务决定

(三) 在ECS实例中运行的ECS代理是否负责向在ECS实例中运行的docker守护进程发出请求,以从docker repo中提取docker映像
someaccthub/someapp
?在ECS任务开始时(是的,您的任务定义已配置了相应的ECR存储库版本。集群下的服务负责确保在EC2实例中启动并运行正确的任务

2) 是的,根据集群的定义,amazon/amazon ecs代理(也是EC2上的docker容器)将确保在EC2上运行正常的任务(docker容器)

3) 不完全是这样,代理只会确保保留相关任务定义的docker容器,即服务是在ECR中配置的。而且不去拿任何其他存储库。仅当您更新集群的服务时,它才会更新


ecs代理负责拉入和运行。但是,假设您的任务定义版本为1。并且,任务定义的版本1配置了docker映像,比如版本1。并且您的ECS集群配置了任务定义为v1的服务。在这种情况下,代理将只确保任务定义v1的拉入和运行。如果希望代理管理不同的docker映像。您必须相应地更新您的定义和服务。

当然。ecs代理负责拉入和运行。但是,假设您的任务定义版本为1。并且,任务定义的版本1配置了docker映像,比如版本1。并且您的ECS集群配置了任务定义为v1的服务。在这种情况下,代理将只确保任务定义v1的拉入和运行。如果希望代理管理不同的docker映像。您必须相应地更新您的定义和服务。希望有意义?是的,新版本的任务定义适用于新版本的docker image。请在回复中更新您的评论