Задача AWS ECS зависла на этапе ПОДГОТОВКИ

Задача AWS ECS зависла на этапе ПОДГОТОВКИ

У меня есть кластер ECS с поставщиком емкости и сервисом. Поставщик емкости запускает группу автомасштабирования, и когда запускается один экземпляр этой группы, в конце я вижу, что доступны экземпляры ECS. На самом деле, я могу подключиться к ним через SSH.

Служба также работает хорошо, поскольку она создает новую задачу, которая основана на образе docker в репозитории ERS. Однако задача никогда не переходит из "PROVISIONING", и если я открываю задачу, я вижу, что контейнер задачи пуст и загружается. Если я вхожу в свой экземпляр, я вижу тот же экземпляр docker, если я делаю docker psили docker ps -a. Если я запускаю агент, docker exec id_docker /agentя вижу:

level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go
level=info time=2022-05-02T21:16:05Z msg="Starting Amazon ECS Agent" version="1.61.0" commit="05730614"
level=info time=2022-05-02T21:16:05Z msg="Loading configuration"
level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go

Если я попробую, то docker exec id_docker bashполучу ошибку:

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown

Что здесь происходит? Есть какие-нибудь подсказки?

решение1

Что у меня было после выполнения docker pswsa на самом деле ecs-agent, который Amazon создает для управления контейнером. Это была застрявшая часть. Мой docker даже не был запущен на самом деле.

Чтобы решить эту проблему, при создании задачи в параметрах контейнера, когда вы выбираете порты контейнера для перенаправления на хост, введите в качестве значений хоста 0. Например, перенаправьте порт 22 на 22 -> 0 на 22. Это динамическое сопоставление портов в ecs.

Связанный контент