Как переместить все существующие контейнеры в другой экземпляр перед автоматическим масштабированием? - PullRequest
0 голосов
/ 24 мая 2018

Я использую AWS ECS в сочетании с экземплярами EC2.

Сейчас я настраиваю автоматическое масштабирование.Как я могу убедиться, что, когда экземпляр EC2 завершается, все задачи ECS переносятся до завершения работы машины?

1 Ответ

0 голосов
/ 24 мая 2018

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

Вручную (или по сценарию) возможно:

Если вы хотите заменить экземпляр, подключенный к кластеру ECS, вы можете просто использовать экземпляр.Это сделает следующее

  1. Запустить новую задачу каждой работающей службы на другом экземпляре в кластере
  2. Дождаться, пока недавно запущенная задача станет «устойчивой»
  3. завершите работу старой задачи

Чтобы очистить экземпляр с помощью интерфейса командной строки AWS, выполните следующие действия:

  1. Откройте консоль Amazon ECS по адресу https://console.aws.amazon.com/ecs/.

  2. В области навигации выберите Кластеры и выберите кластер.

  3. Выберите Экземпляры ECS и установите флажок для экземпляров контейнера.

  4. Выберите Действия, Слить экземпляры.

  5. После обработки экземпляров выберите Готово.

Это также можно сделать с помощью командная строка .

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

Вызвать CLI AWS иззавершение жизненного цикла, чтобы истощить экземпляр, подождать фиксированное количество времени и затем продолжить завершениеэкземпляр.

...