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

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

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

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

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

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

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

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

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

Спасибо

1 ответ

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

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

Другие вопросы по тегам