Возможна ли реализация blue\green deploy для балансировщика на nginx?
Добрый день.
Вопрос такой. Из-за специфики проекта приходится часто ребутать nginx после добавления ip адреса в апстримы. Есть такая штука как blue green deploy, как ее использовать в коде - понятно, но возможно ли его применить для балансировщика?
Например:
Есть 2 nginx, один на порту 8080, один на порту 8090, траф проходит через оба, если изменяют nginx на порту 8080, его рестартят, то по идее сине-зеленого деплоя, пока первый nginx в ребуте - работает второй.
Пока я понял, что можно прикрутить iptables redirect, но вдруг еще какие-то варианты есть?
Спасибо.
Алексей Тен, да, но из-за высокой нагрузки релоад не всегда корректно отрабатывает. Поэтому ищу какую-то альтернативу, так как админы не могут решить вопрос с релоадом.
Значит берите уровнем выше, например haproxy который будет переключать когда надо. А вообще в kubernetes скорее всего есть утилиты чтобы трафик сети балансировать!
UPD: Или динамический DNS типо свой DDNS на route53 или типо того :)
Алексей Тен, из моей практики все прекрасно работает, TTL вечно никто не держит и большинство старается соблюдать эти TTL. С DNS получаются самые низкие показатели потери трафика при BG
Данила, клиенты кэшируют dns только на TTL, указанный в записи. В очень редких случаях его увеличивают или контролируют руками. В этом случае - сами себе злобные буратины. Все клады у себя делают BG через DNS - как внутренний так и внешний