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

Привет, я за консультацией. Скорее всего я знаю ответ, но решил

уточнить.

Есть managed k8s.
Включены всякие штуки:
- автоскейлер нод
- hpa
- по 2-3 реплики аппликейшн
- load balancer
и многое другое.

Наблюдаю иногда проблему, когда например меняю что-то для нод группы и запускаю обновление.
Новые ноды поднимаются, Старые ноды уходят в NotReady,SchedulingDisabled. Ну всё понятно.

И именно в момент смены нод(например я меняю AMI) у меня пропадает трафик на апликейшн.
То есть такое ощущение, что даже если у меня 3 реплики и все они, к слову, на отдельных нодах, висят на тех нодах, которые внезапно обновляются, то эвикщн происходит достаточно быстро сразу для всех реплик. То есть сразу 3 ноды, где висят три разные реплики, кордонятся.
И получается не спасает ни раундробин, ни количество реплик.

Правильно ли я понимаю, что в моем кейсе меня спасёт только pdb?

9 ответов

26 просмотров

Только PDB.

А ты уверен что у тебя реплики на разных нодах?)

Alexandr-Kryuchkov Автор вопроса
Jürgen Romins
А ты уверен что у тебя реплики на разных нодах?)

Уверен, смотрю через k get pods -A -o wide | grep PODNAME в момент обновления нод группы и там это чётко видно

Правильно

Alexandr Kryuchkov
Уверен, смотрю через k get pods -A -o wide | grep ...

Для екс есть такое https://github.com/hellofresh/eks-rolling-update

pdb must have если роляешь так ноды, либо выставляешь что бы ноды роллились по одной

Alexandr-Kryuchkov Автор вопроса
Solyar
Правильно

Справедливо ли, что PDB делать minAvailable=N-1 где N=replicas на deployment?

Alexandr Kryuchkov
Справедливо ли, что PDB делать minAvailable=N-1 г...

Я делаю N потому что обычно заню сколько мне минимально реплик надо для функционирования и сколько из них нельзя выселять

Alexandr Kryuchkov
Справедливо ли, что PDB делать minAvailable=N-1 г...

нет, лучше N+1 где N - минимальное количество нужно для работоспособности

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта