Рейтинг:0

Задача AWS ECS зависла на PROVISIONING

флаг kr

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

Служба также работает хорошо, поскольку создает новую задачу на основе образа докера в репозитории ERS. Однако задача никогда не переходит из «ПОДГОТОВКИ», и если я открою задачу, я увижу, что контейнер задачи пуст и загружается. Если я войду в свой экземпляр, я увижу тот же экземпляр докера, если я это сделаю докер пс или же докер пс-а. Если я выполняю агент docker exec id_docker / агент Я понимаю:

level=info time=2022-05-02T21:16:05Z msg="Учетные данные экземпляра ECS успешно получены от провайдера: EC2RoleProvider" module=instancecreds.go
level=info time=2022-05-02T21:16:05Z msg="Запуск агента Amazon ECS" version="1.61.0" commit="05730614"
level=info time=2022-05-02T21:16:05Z msg="Загрузка конфигурации"
level=info time=2022-05-02T21:16:05Z msg="Учетные данные экземпляра ECS успешно получены от провайдера: EC2RoleProvider" module=instancecreds.go

Если я попробую с docker exec id_docker bash Я получаю сообщение об ошибке:

Сбой выполнения среды выполнения OCI: сбой выполнения: container_linux.go:380: запуск процесса контейнера вызван: exec: «bash»: исполняемый файл не найден в $ PATH: неизвестно

Что тут происходит? Любая подсказка?

Tim avatar
флаг gp
Tim
Сообщение об ошибке, кажется, говорит, что не может найти исполняемый файл «bash». Есть ли в контейнере «bash» и он находится на пути? Это работает, если вы устанавливаете bash? Если поковыряться в консоли ECS, щелкая по задачам, то часто можно найти более подробную информацию об ошибках, но я не помню, где именно вы их находите.
флаг kr
Я не вижу никаких других журналов... Я вытащил свой докер из своего репозитория ECR на amazon и запустил его внутри экземпляра EC2, созданного группой автоматического масштабирования, и он работает нормально. Так что это должно быть что-то связанное с разрешениями Amazon, я думаю. Я использую балансировщик нагрузки, но на порту 80 нет сервера, поэтому он неисправен в целевой группе. Может быть, это?
Рейтинг:0
флаг kr

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

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.