Назад | Перейти на главную страницу

Невозможно запустить задачу в ecs. Задачи в состоянии ОЖИДАНИЕ

Мои задачи в статусе ОЖИДАНИЕ

Вот что я вижу в событиях

Информации в сервисных мероприятиях немного.

Вот определение задачи в json

{
  "requiresAttributes": [
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.ecr-auth",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.task-iam-role",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.logging-driver.awslogs",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.task-iam-role-network-host",
      "targetId": null,
      "targetType": null
    },
    {
      "value": null,
      "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19",
      "targetId": null,
      "targetType": null
    }
  ],
  "taskDefinitionArn": "arn:aws:ecs:ap-southeast-2:1234567890:task-definition/SQ1-queuetest:1",
  "networkMode": "host",
  "status": "ACTIVE",
  "revision": 1,
  "taskRoleArn": "arn:aws:iam::1234567890:role/play-ecs",
  "containerDefinitions": [
    {
      "volumesFrom": [],
      "memory": 256,
      "extraHosts": null,
      "dnsServers": null,
      "disableNetworking": null,
      "dnsSearchDomains": null,
      "portMappings": [],
      "hostname": null,
      "essential": true,
      "entryPoint": null,
      "mountPoints": [],
      "name": "sq1",
      "ulimits": null,
      "dockerSecurityOptions": null,
      "environment": [
        {
          "name": "ENV",
          "value": "test"
        }
      ],
      "links": null,
      "workingDirectory": "/app/src/",
      "readonlyRootFilesystem": null,
      "image": "1234567890.dkr.ecr.ap-southeast-2.amazonaws.com/simplequeue:latest",
      "command": [
        "python /app/src/main.py"
      ],
      "user": null,
      "dockerLabels": null,
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "simplequeue",
          "awslogs-region": "ap-southeast-2",
          "awslogs-stream-prefix": "sq1"
        }
      },
      "cpu": 512,
      "privileged": null,
      "memoryReservation": null
    }
  ],
  "placementConstraints": [],
  "volumes": [],
  "family": "SQ1-queuetest"
}

Как я могу узнать больше, почему задача не запускается?

Вроде из-за отсутствия политики AmazonEC2ContainerServiceforEC2Role.

После того, как я назначил эту политику роли, теперь я получаю другое сообщение об ошибке:

Сервису SQ1-test не удалось разместить задачу, потому что ни один экземпляр контейнера не соответствовал всем его требованиям. Самый близкий соответствующий экземпляр контейнера efea641c-6204-4a68-a69f-cb1b07e3529a обнаружил ошибку «АГЕНТ». Дополнительные сведения см. В разделе «Устранение неполадок».

Оказывается, указанная выше ошибка вызвана непреднамеренным удалением роли ecsInstanceRole который был создан при создании кластера.

Теперь я вижу, что статус изменен на "ОЖИДАНИЕ"