2015-02-12 1 views
0

У меня есть основанная на докере эластичная фасоль, где размещается рубин на веб-приложении с рельсами. Среда представляет собой единый экземпляр.
всякий раз, когда я выдаю команду eb deploy, эластичный бобовой разряд завершает экземпляр и запускает новый. Я ожидал, что EB запустит новый контейнер в том же экземпляре и заменит его старым.
Это завершение экземпляра вызывает простоя. Есть ли автоматизированный способ развертывания докеров в эластичном бобовом стебле без простоя?
Единственное решение, которое я нашел, это функция «своп-URL-адреса». но я счел это громоздким.Почему мой эластичный экземпляр beanstalk заменяется при развертывании?

+0

Что вы изменили при развертывании? Не все развертывания требуют завершения экземпляра. –

ответ

0

В настройках конфигурации для вашей эластичной среды Beanstalk вы найдете Обновления и развертывания. Под Развертывание приложений вы можете установить Тип партии в соответствии с вашими требованиями.

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

0

Есть ли автоматизированный способ развертывания докеров в эластичном бобовом стебле без простоя?

  1. Нажмите новый докер изображение в том же хранилище dockerbub/dockerregistry с тем же тегом, который вы использовали в упругом бобовый стебель.
  2. Измените размер Beanstalk на 2, чтобы запустить новый сервер с новой версией вашего контейнера докеров.
  3. Прекратить старший экземпляр и позволить EB заменить его, подождите, пока замена не станет здоровой. *
  4. Изменить EB размера обратно к 1.

* Если ваш не позволить второму экземпляру получить здоровым, когда ваш уменьшить размер до 1, он может прекратить здоровый.

+0

Вау, это один адский способ обхода. Я стрелял из-за чего-то внутреннего в EB. – Tal

+0

Другой вариант состоит в том, чтобы иметь 2 стека. Разверните узел, который не используется, а затем переключите DNS –