Amazon web services AWS ECS Fargate-任务未运行

Amazon web services AWS ECS Fargate-任务未运行,amazon-web-services,docker,containers,amazon-ecs,Amazon Web Services,Docker,Containers,Amazon Ecs,我遵循AWS教程在AWS ECS Fargate上设置任务 我在ECR中有一个映像,我已经设置了集群和服务,以及任务定义,但是什么都没有运行。我必须在aws控制台中手动运行任务以启动它,当我使用新的任务定义更新服务时,即使使用强制部署,运行的任务也不会得到更新 我想要一个非常简单的设置,因此我没有ELB或自动缩放策略,服务的设置如下: 任务数 1 最低健康百分比 100 最大百分比 200 部署类型:滚动更新 我觉得我遗漏了什么,我的任务没有自动启动,也没有在服务更新时更新 我在下面附上了我在b

我遵循AWS教程在AWS ECS Fargate上设置任务

我在ECR中有一个映像,我已经设置了集群和服务,以及任务定义,但是什么都没有运行。我必须在aws控制台中手动运行任务以启动它,当我使用新的任务定义更新服务时,即使使用强制部署,运行的任务也不会得到更新

我想要一个非常简单的设置,因此我没有ELB或自动缩放策略,服务的设置如下:

任务数 1

最低健康百分比 100

最大百分比 200

部署类型:滚动更新

我觉得我遗漏了什么,我的任务没有自动启动,也没有在服务更新时更新

我在下面附上了我在bitbucket管道中使用的部署代码(如果有帮助的话):

#/bin/bash
set-e
#可能的-b(基本/应用程序名称)-i(映像版本)、-e(部署环境)和-s(服务id)
而getopts b:i:e:s:r:option
做
案例“${option}”
在里面
b) BASE_NAME=${OPTARG};;
i) IMG_VERSION=${OPTARG};;
e) 部署_ENV=${OPTARG};;
s) 服务_ID=${OPTARG};;
r) 执行_角色=${OPTARG};;
以撒
完成
echo“BASE\u NAME:$BASE\u NAME
echo“IMG_版本:$IMG_版本”
echo“DEPLOY_ENV:$DEPLOY_ENV
echo“SERVICE\u ID:$SERVICE\u ID
echo“EXECUTION\u ROLE:$EXECUTION\u ROLE
如果[-z“$BASE_NAME”];然后
echo“退出:未指定基本名称”
出口
fi
如果[-z“$SERVICE_ID”];然后
echo“退出:未指定服务\u ID”
出口
fi
如果[-z“$DEPLOY_ENV”];然后
echo“退出:未指定部署环境”
出口
fi
如果[-z“$IMG_版本”];然后
echo“退出:未指定IMG\U版本”
出口
fi
如果[-z“$EXECUTION_ROLE”];然后
echo“退出:未指定执行角色”
出口
fi
#定义变量
TASK_FAMILY=${BASE_NAME}-${DEPLOY_ENV}-${SERVICE_ID}
服务名称=${BASE\u NAME}-${DEPLOY\u ENV}-${SERVICE\u ID}-服务
集群名称=${BASE\u NAME}-${DEPLOY\u ENV}-集群
IMAGE_PACEHOLDER=“”
容器定义文件=$(cat${BASE\u NAME}-$SERVICE\u ID.CONTAINER DEFINITION.json)
CONTAINER\u DEFINITION=“${CONTAINER\u DEFINITION\u FILE//$IMAGE\u PACEHOLDER/$IMG\u VERSION}”
导出任务\u版本=$(aws ecs注册任务定义--系列${TASK\u family}--容器定义“$container\u definition”--需要兼容性“[“FARGATE”]”--cpu“512”--内存“1024”--网络模式“awsvpc”--执行角色arn${execution\u role}jq--原始输出.taskDefinition.revision')
echo“已注册ECS任务定义:$Task\u版本”
如果[-n“$TASK_VERSION”];然后
echo“更新ECS群集:$Cluster\u NAME
echo“服务:$Service\u NAME
echo“任务定义:$Task\u系列:$Task\u版本
#更新ECS服务
已部署的任务服务=$(aws ecs更新服务--cluster$cluster\u NAME--服务$SERVICE\u NAME--任务定义$task\u系列:$task\u版本--强制新部署| jq--原始输出'.SERVICE.serviceName')
echo“部署$DEPLOYED\u服务完成”
其他的
echo“退出:无任务定义”
出口
fi
编辑:

以下是我的任务定义:

    {
      "ipcMode": null,
      "executionRoleArn": "arn:aws:iam::<Account-id>:role/:arn:aws:iam::<Account-id>:role/ecsTaskExecutionRole",
      "containerDefinitions": [
        {
          "dnsSearchDomains": null,
          "logConfiguration": null,
          "entryPoint": [],
          "portMappings": [
            {
              "hostPort": 80,
              "protocol": "tcp",
              "containerPort": 80
            },
            {
              "hostPort": 443,
              "protocol": "tcp",
              "containerPort": 443
            }
          ],
          "command": [],
          "linuxParameters": null,
          "cpu": 0,
          "environment": [],
          "resourceRequirements": null,
          "ulimits": null,
          "dnsServers": null,
          "mountPoints": [],
          "workingDirectory": "/usr/share/nginx/html/",
          "secrets": null,
          "dockerSecurityOptions": null,
          "memory": null,
          "memoryReservation": null,
          "volumesFrom": [],
          "stopTimeout": null,
          "image": "<Account-id>.dkr.ecr.us-east-1.amazonaws.com/<my-ecr-image>:latest",
          "startTimeout": null,
          "dependsOn": null,
          "disableNetworking": null,
          "interactive": null,
          "healthCheck": null,
          "essential": true,
          "links": null,
          "hostname": null,
          "extraHosts": null,
          "pseudoTerminal": null,
          "user": null,
          "readonlyRootFilesystem": null,
          "dockerLabels": null,
          "systemControls": null,
          "privileged": null,
          "name": "dig-website"
        }
      ],
      "placementConstraints": [],
      "memory": "1024",
      "taskRoleArn": null,
      "compatibilities": [
        "EC2",
        "FARGATE"
      ],
      "taskDefinitionArn": "arn:aws:ecs:us-east-1:<Account-id>:task-definition/myapp-production-website:11",
      "family": "myapp-production-website",
      "requiresAttributes": [
        {
          "targetId": null,
          "targetType": null,
          "value": null,
          "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17"
        },
        {
          "targetId": null,
          "targetType": null,
          "value": null,
          "name": "ecs.capability.execution-role-ecr-pull"
        },
        {
          "targetId": null,
          "targetType": null,
          "value": null,
          "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
        },
        {
          "targetId": null,
          "targetType": null,
          "value": null,
          "name": "ecs.capability.task-eni"
        },
        {
          "targetId": null,
          "targetType": null,
          "value": null,
          "name": "com.amazonaws.ecs.capability.ecr-auth"
        }
      ],
      "pidMode": null,
      "requiresCompatibilities": [
        "FARGATE"
      ],
      "networkMode": "awsvpc",
      "cpu": "512",
      "revision": 11,
      "status": "ACTIVE",
      "proxyConfiguration": null,
      "volumes": []
    }
{
“ipcMode”:空,
“执行角色学习”:“arn:aws:iam:::角色/:arn:aws:iam:::角色/执行角色”,
“集装箱定义”:[
{
“dnsSearchDomains”:空,
“logConfiguration”:空,
“入口点”:[],
“端口映射”:[
{
“主机端口”:80,
“协议”:“tcp”,
“集装箱港口”:80
},
{
“主机端口”:443,
“协议”:“tcp”,
“集装箱港口”:443
}
],
“命令”:[],
“linuxParameters”:空,
“cpu”:0,
“环境”:[],
“resourceRequirements”:空,
“ulimits”:空,
“dnsServers”:空,
“挂载点”:[],
“工作目录”:“/usr/share/nginx/html/”,
“秘密”:空,
“dockerSecurityOptions”:空,
“内存”:空,
“memoryReservation”:空,
“卷自”:[],
“stopTimeout”:空,
“图片”:“.dkr.ecr.us-east-1.amazonaws.com/:最新”,
“startTimeout”:空,
“dependsOn”:空,
“disableNetworking”:空,
“交互式”:空,
“健康检查”:空,
“必要”:正确,
“链接”:空,
“主机名”:空,
“extraHosts”:空,
“伪终端”:空,
“用户”:空,
“readonlyRootFilesystem”:空,
“dockerLabels”:空,
“系统控制”:空,
“特权”:空,
“名称”:“挖掘网站”
}
],
“placementConstraints”:[],
“内存”:“1024”,
“taskRoleArn”:空,
“相容性”:[
“EC2”,
“法尔盖特”
],
“任务定义arn”:“arn:aws:ecs:us-east-1::任务定义/myapp制作网站:11”,
“家庭”:“myapp制作网站”,
“要求属性”:[
{
“targetId”:空,
“targetType”:空,
“值”:空,
“名称”:“com.amazonaws.ecs.capability.docker远程api.1.17”
},
{
“targetId”:空,
“targetType”:空,
“值”:空,
“名称”:“ecs.capability.execution角色ecr pull”
},
{
“targetId”:空,
“targetType”:空,
“值”:空,
“名称”:“com.amazonaws.ecs.capability.docker远程api.1.18”
},
{
“targetId”:空,
“targetType”:空,
“值”:空,
“名称”:“ec
"executionRoleArn": "arn:aws:iam::<Account-id>:role/:arn:aws:iam::<Account-id>:role/ecsTaskExecutionRole"
 "executionRoleArn": "arn:aws:iam::<Account-id>:role/ecsTaskExecutionRole"