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

AWS ECS: невозможно разместить задачу

Я пытаюсь настроить сервис AWS с автоматическим масштабированием. Я создал кластер с балансировщиком нагрузки приложений и создал задачу, используя образ докера, который должен быть открыт на порту 8080 для использования. Я создал службу, основанную на этой задаче, для которой я установил минимальное и желаемое количество экземпляров на 1 и максимальное на 10, а также создал правила для увеличения и уменьшения масштаба. Однако новые экземпляры не создаются, и все, что я получаю в списке событий через регулярные промежутки времени, это:

service microrecieverservice не смогла разместить задачу, потому что ни один экземпляр контейнера не удовлетворял всем ее требованиям. Самый близкий соответствующий экземпляр-контейнер 97d97ce9-967d-49ad-83ad-f4f904aae1f6 уже использует порт, необходимый для вашей задачи. Дополнительные сведения см. В разделе «Устранение неполадок».

Мне не удалось найти ничего подходящего в раздел устранения неполадок. Мне удалось вручную добавить еще один экземпляр в кластер, но без изменения данных событий. Я мог подключиться к этому экземпляру по ssh, и было два образа докеров: один был amazon-ecs-agent: latest, а другой - моим определением задачи. На этом этапе я попытался отправить REST-запрос на сервер, чтобы узнать, пройдет ли он, но получил отказ в соединении. Примерно в это же время перезапустился образ докера.

Контейнер не запускает ничего, что могло бы использовать порт 8080, и когда я это сделаю netstat -lntp процесс, использующий порт 8080, - это мой образ докера.

Скорее всего, ваша задача использует порт 8080 как статический.

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

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

Использовать ECS динамическое сопоставление портов, или запустите больше экземпляров в своем кластере.