и трафик на них направляется через internal loadbalancer, который находится в двух зонах (multi-AZ). Я настроил code deploy blue/green deployment и у меня возникает задержка около минуты, когда трафик перенаправляется на свеженькие контейнеры. То есть я просто не могу до них достучаться через loadbalancer, хотя сами контейнеры трафик принимают (я напрямую к ним обращаюсь и все работает).
Я поставил задержку около 15 минут на то, чтобы старые контейнеры не умирали, но когда балансировщик подхватывает новые - то здесь и происходит затык. Я вначале думал, что проблема в том, что балансировщик не успевает резолвится и перенаправляет трафик на “убитые” контейнеры, но оказалось, что это не так.
Может быть кто сталкивался или есть у кого советы, как можно это отдебажить/настроить? Мне кажется, что когда балансировщик был в одной зоне, то этого не было, но могу ошибаться.
в логах ECS пауза между стартом контейнера и прохождением healthcheck - есть ?
Health check startPeriod пробовал подкручивать?
неа, но спасибо за идею
Именно на хелс чеки отключил логи(( Но тут проблема именно в момент подмены айпишников на новые контейнеры, которые находятся уже в боевом режиме
Потому что у тебя хелфчек прошел а приложение ещё не запустилось по факту
Не, приложение крутится, я напрямую к контейнерам по айпи обращаюсь в этот момент пролага и они доступны
Так это неправильно. Надо по имени контейнера обращаться, дискавери ведь есть
А дискавери мне нужно настраивать? Сразу из коробки ж он вроде не идет. Ну или он где-то скрыт у них internally, куда мне доступа нету
по имени контейнера - из коробки работает. это ведь докер если настроить route53 то будет еще по домену
Если бы я мог на сам сервер зайти, то да, но у меня в FARGATE все абстрагированно
Обсуждают сегодня