У меня есть основанная на докере эластичная фасоль, где размещается рубин на веб-приложении с рельсами. Среда представляет собой единый экземпляр.
всякий раз, когда я выдаю команду eb deploy
, эластичный бобовой разряд завершает экземпляр и запускает новый. Я ожидал, что EB запустит новый контейнер в том же экземпляре и заменит его старым.
Это завершение экземпляра вызывает простоя. Есть ли автоматизированный способ развертывания докеров в эластичном бобовом стебле без простоя?
Единственное решение, которое я нашел, это функция «своп-URL-адреса». но я счел это громоздким.Почему мой эластичный экземпляр beanstalk заменяется при развертывании?
ответ
В настройках конфигурации для вашей эластичной среды Beanstalk вы найдете Обновления и развертывания. Под Развертывание приложений вы можете установить Тип партии в соответствии с вашими требованиями.
Для этого процесса вам потребуется увеличить количество выполняемых экземпляров, по крайней мере, до двух.
Есть ли автоматизированный способ развертывания докеров в эластичном бобовом стебле без простоя?
- Нажмите новый докер изображение в том же хранилище dockerbub/dockerregistry с тем же тегом, который вы использовали в упругом бобовый стебель.
- Измените размер Beanstalk на 2, чтобы запустить новый сервер с новой версией вашего контейнера докеров.
- Прекратить старший экземпляр и позволить EB заменить его, подождите, пока замена не станет здоровой. *
- Изменить EB размера обратно к 1.
* Если ваш не позволить второму экземпляру получить здоровым, когда ваш уменьшить размер до 1, он может прекратить здоровый.
Вау, это один адский способ обхода. Я стрелял из-за чего-то внутреннего в EB. – Tal
Другой вариант состоит в том, чтобы иметь 2 стека. Разверните узел, который не используется, а затем переключите DNS –
Что вы изменили при развертывании? Не все развертывания требуют завершения экземпляра. –