Ответ 1
Это действительно три довольно разных вопроса, поэтому лучше всего разделить их на разные вопросы здесь - я постараюсь дать ответ независимо:
- Экземпляры контейнеров Amazon ECS добавляются косвенно, это задача агента Amazon ECS Container Agent для каждого чтобы зарегистрировать себя в кластере, созданном и названном вами, подробнее см. concepts и жизненный цикл. Чтобы это сработало, вам нужно выполнить шаги, описанные в Запуск экземпляра контейнера ECAS Container Amazon, будь то вручную или с помощью автоматизации. Помните о шаге 10.:
По умолчанию экземпляр контейнера запускается в ваш по умолчанию кластер. Если вы хотите запустить свой собственный кластер вместо по умолчанию выберите список дополнительных сведений и вставьте следующие script в поле данных пользователя, заменив your_cluster_name на имя вашего кластера.
#!/bin/bash echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
-
Вам нужен только один экземпляр для работы ECS как таковой, поскольку сам кластер управляется AWS от вашего имени. Этого было бы недостаточно для сценариев высокой доступности:
- Поскольку хосты контейнеров являются обычными экземплярами Amazon EC2, вам нужно будет следовать рекомендациям AWS и распространять их в течение двух или трех Зоны доступности (AZ), так что (редкий) отключение AZ не влияет на ваш кластер, поскольку ECS может переносить ваши контейнеры на другой экземпляр хоста (при условии, что ваш кластер имеет достаточную запасную емкость).
- Многие передовые технологии кластеризации, которые облегчают контейнеры, имеют свои собственные уровни оркестровки обслуживания и обычно требуют нечетных номеров >= 3 (служебных) экземпляров для настройки высокой доступности. Подробнее об этом можно узнать в разделе "Оптимальный размер кластера" в Администрация (см. Также Запуск CoreOS с AWS EC2 Container Service).
-
Это относится к темам высокой доступности и обслуживания, упомянутым в 2. уже, точнее, к вашей проблеме об открытии службы, которая становится более широко распространены даже при использовании контейнерных технологий в целом и микроуслуг в частности:
- Чтобы познакомиться с этим, я рекомендую Jeff Lindsay Понимание современного обслуживания с помощью Docker для отличного обзора, специально ориентированного на ваш вариант использования.
- Jeff также поддерживает контейнерную версию все более популярного Consul, что упрощает регистрацию сервисов и поиск других сервисов через DNS или HTTP интерфейс (см. Запуск Консула в Докере и gliderlabs/docker-consul).