172 похожих чатов

Все доброе утро. Наткнулся я тут на страное поведение: у меня

есть связка: deployment, service, ingress, все стандартно. В деплойменте висит веб сервис и все это зацеплено за БД на бекэнде.

В фронт, помимо стандартных хттп запросов приходят еще и апдейты по схеме. Такой апдейт меняет настройки БД и чтоб рефрешнуть веб сервис, его надо рестартовать, чтоб он считал стейт из БД.

Для рестарта все сделано очень просто - апдейт схемы заодно меняет настройку в гите, что триггерит рестарт из аргоцд.

С одной репликой все работает отлично - делаем апдейт, во время рестарта пода есть пара секунд 502, а потом новая схема и новый аутпут.

С двумя происходит херня:
$ while true; do curl https://my-ingress.domain.com; done

old data
old data
old data
old data
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
old data
NEW DATA
old data
old data
NEW DATA
NEW DATA
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
</body>
</html>
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
</body>
</html>
NEW DATA
NEW DATA
NEW DATA
NEW DATA


Я ожидал что рестарт по дефолтной rollout policy позволит обойтись вообще без провалов сервиса, даже если в начале будет возвращать old data какое то время. Что я упускаю?

1 ответов

23 просмотра
Dan-Y Автор вопроса

добавил readiness и liveness, теперь 504 не попадается, но 502 во время фейловера в течении пары секунд есть. я так понимаю сервис то ли цепляет еще не поднявшийся под то ли не успевает отключить старый под когда он уже в дауне. Как бы точно отследить?

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта