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

В кластере ECS нет экземпляров ecs, но в EC2 видны два экземпляра ecs.

Я пытаюсь создать очень простой кластер в районе Сиднея.

Это очень простая установка. Я указал, что размер жесткого диска составляет 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