Использование стратегии развертывания Spinnaker Red / Black и по-прежнему наличие обеих версий, обслуживающих трафик.

В настоящее время я настраиваю конвейер спинакера POC для развертывания в кластере kubernetes.

Экспериментируя со стратегией красного/черного спинакера, я заметил, что она ведет себя не так, как я ожидал. Я ожидаю, что это гарантирует, что только 1 версия получит трафик со следующими шагами:

  1. разверните черную группу серверов (репликасет Kubernete) и убедитесь, что она исправна
  2. перенаправить трафик службы на черную группу серверов, обновив цели балансировщика нагрузки
  3. отключить красную группу серверов

Но на самом деле, по крайней мере, при использовании его с kubernetes, шаг 2 здесь, кажется, сопоставляется с несколькими шагами:

  • добавить черные цели в балансировщик нагрузки
  • удалить красные цели из балансировщика нагрузки

Таким образом, я получаю 2 версии, обслуживающие трафик в течение минуты здесь.

Насколько я понимаю, сине-зеленый цвет может быть достигнут в kubernetes путем обновления селектора pods службы (балансировщика нагрузки), поэтому я не понимаю, почему драйвер kubernetes спинакера, похоже, не использует это.

Может ли кто-нибудь помочь мне увидеть, что мне здесь не хватает?

Спасибо


person Mehdi.    schedule 22.04.2017    source источник


Ответы (1)


Можете ли вы проверить, не находится ли развертывание еще на стадии развертывания? Возможно, ваша установка spinacker просто запускает новую версию текущего развертывания. Если это так, ваше развертывание будет выполнять последовательное обновление с предоставленным вами максимальным скачком или значением по умолчанию, и поэтому у вас одновременно работают 2 версии.

Если я не ошибаюсь, большинство людей, которые выполняют сине-зеленые развертывания, имеют 2 отдельные сети (например, с фланелью) и просто запускают новое развертывание, которое переключается либо постепенно, либо мгновенно через их входные контроллеры.

person jonas kint    schedule 26.04.2017
comment
Спасибо Джонас за ваш ответ. Я еще не использовал развертывания со спинакером: все еще пытаюсь заставить его работать с наборами реплик с 1 репликой, так что это не похоже ... Spinnaker использует load-balancer-X:true в качестве селектора службы и переключает значение метки подов для их включения/отключения; Мне кажется странным приносить фланель и несколько сеток на стол, поскольку теоретически это можно сделать, обновив селектор службы вместо метки стручков. - person Mehdi.; 01.05.2017