Как ALB распределяет запросы службе Fargate во время развертывания обновлений? - PullRequest
0 голосов
/ 31 января 2020

Я развертываю службу Fargate в кластере и использую развертывание с непрерывным обновлением. Я настроил ALB перед своим сервисом, и он также выполняет проверку работоспособности. Во время обновления я вижу, что моя текущая задача помечена как НЕАКТИВНАЯ, и новая задача развернута. Обе задачи находятся в рабочем состоянии. Я понимаю, что ALB выполняет проверку работоспособности вновь развернутых задач, но он поддерживает выполнение двух задач в течение 5 минут.

У меня есть несколько вопросов об этом периоде развертывания.

  1. Распределяет ли ALB запросы пользователей на мои новые задачи перед прохождением проверки работоспособности?
  2. Если ответ на первый вопрос - нет, Распределяет ли ALB запросы пользователей новой службе после прохождения проверки работоспособности перед старыми службами? не работает?
  3. Если второй ответ - «да», то в моем сервисе будут запущены две версии задач для обслуживания пользовательских запросов в течение 5 минут. Это правда? Как я могу убедиться, что он отправляет запросы только одной службе за раз.

Я не хочу менять метод развертывания на СИНИЙ / ЗЕЛЕНЫЙ. Я хочу постоянно обновлять информацию.

1 Ответ

0 голосов
/ 31 января 2020

ALB не будет отправлять трафик c на задачу, которая еще не прошла проверку работоспособности, поэтому нет # 1. ALB отправит traffi c как старому, так и новому во время развертывания, так что да, на # 2. Как только задача замены становится доступной, ALB начнет истощать задачу, которую она заменяет. Время по умолчанию для этого составляет 5 минут. В течение этого времени экземпляр слива не будет получать трафик c, так что вроде нет # 3. Что-то вроде того, что у вас будет какое-то время с версией A и B вашего сервиса будут развернуты. Как долго это зависит от количества заданий и сколько времени им нужно, чтобы начать получать траффи c.

Единственный способ, которым я могу придумать, это отправить все трафики c в одну версию и затем трудно перейти к другому, чтобы каждый раз создавать совершенно новую целевую группу, оставляя старую активную. Затем, когда новая целевая группа запущена, переключитесь на нее. При этом вам придется изменить маршруты в ALB.

Кстати, то, что происходит сейчас, - это то, что я бы назвал скользящим развертыванием.

...