Я пытаюсь создать очень простой кластер в районе Сиднея.
Это очень простая установка. Я указал, что размер жесткого диска составляет 60 ГБ. Я хочу иметь два экземпляра ec2 в кластере.
Они отображаются в панели ec2, как и ожидалось.
Однако экземпляры ec2 не отображаются на странице кластера ecs:
1) Почему это происходит?
2) Есть ли какие-либо журналы, которые я могу изучить, чтобы выяснить основную проблему?
В своем комментарии вы указали, что у экземпляров нет публичных IP-адресов. Я экстраполирую из этого комментария, что ваши экземпляры, вероятно, также не имеют выхода в Интернет.
Чтобы использовать ECS, ваши экземпляры должны иметь маршрут для достижения (как минимум) конечных точек службы ECS. Маршрут в Интернет может быть через Интернет-шлюз (IGW), Трансляция сетевых адресов (NAT), или через HTTP-прокси. Без маршрута для достижения конечных точек службы ECS агент ECS не сможет зарегистрироваться в вашем кластере, и вы не сможете использовать эти экземпляры с ECS.
Устранена проблема, выполнив следующие два шага:
1) Убедитесь, что функция автоматического назначения общедоступного IPv4-адреса включена.
2) Создайте и подключите шлюз к VPC. Затем добавьте маршрут к шлюзу.
вы используете ecs optimized
ами? я бы сделал это, а затем включил бы это в ваши пользовательские данные, когда вы создадите экземпляр
#!/bin/bash
echo ECS_CLUSTER=your-cluster-name >> /etc/ecs/ecs.config
если вы подключили ssh к ящику, вы должны увидеть, что он зарегистрирован в кластере, а затем в журналах докеров агента ecs
например.
[ec2-user@ip-10-0-X-XXX ~]$ docker logs my-ecs-agent-container-id
---snip----
2019-04-23T20:46:19Z [INFO] Registered container instance with cluster!
2019-04-23T20:46:19Z [INFO] Registration completed successfully. I am running as 'arn:aws:ecs:us-west-2:XXXXXXX:container-instance/xxxxx-yyyy-zzz-ddd-12345gdd' in cluster 'your-cluster'
---snip----
Для меня проблема заключалась в том, что агент ECS не запускался на экземпляре EC2. И видел ошибку ниже в журналах агента ecs на /var/log/ecs/ecs-init.log
[INFO] Agent exited with code 5
[ERROR] agent exited with terminal exit code
Следуя указанным инструкциям Вот и удалив файл json, расположенный по адресу var/lib/ecs/data/ecs_agent_data.json
и перезапуск агента ECS с помощью приведенной ниже команды - вот что в конечном итоге сработало для меня.
sudo service docker restart && sudo start ecs