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

За что вы так хейтите рук? У нас уже год

почти работает стабильно тьфу тьфу

35 ответов

23 просмотра

У многих кубер год работает, а потом тыква

George Gaál
У многих кубер год работает, а потом тыква

Постоянно боюсь что etcd развалится

Danya
Постоянно боюсь что etcd развалится

Я бы больше за бекапирование манифестов переживал чем за etcd

Aleksei 🇷🇺
почему не бэкапить просто etcd?

Чтоб потом кластер офигел ?

Aleksei-🇷🇺 Автор вопроса
George Gaál
Чтоб потом кластер офигел ?

что бы потом ты не офигел когда etcd в один момент has gone away

Danya
Постоянно боюсь что etcd развалится

- Я постоянно боюсь что etcd развалится, подскажите как с этим жить? - Сходите в церковь, свечку поставьте.

George Gaál
Точно! А ещё лучше - прими ислам

Не выйдет, Аллах-то давно в кубере ;)

George Gaál
Чтоб потом кластер офигел ?

Ладно, это вы ещё не видели как кубу сносит бошку когда у etcd случается сплит-брейн ;)

George Gaál
У етсд не бывает сплит брейн

бывает, если вдруг забыл --initial-cluster-state=new на existing переключить, человеческий фактор :)

George Gaál
Эм, это типикал мисконфигурейшен

в целом да, но если интересно, то расскажу. По всем канонам 12factor app, kube-apiserver totally stateless application, по этому когда это происходит не нужно даже дожидаться перезапуска kube-apiserver. Симптомы начнут себя проявлять мгновенно. Разберём две ситуации: Ситуация первая, когда у нас явный сплитбрейн. Когда все эндпоинты etcd работают в обычном режиме, но по какой-то причиен ничего не знают друг о друге. kube-apiserver настроен на общение со всеми из них. Первым делом вы обнаружите что каждый n'ый запрос возвращает no resources found, потому что kube-apiserver попадает в пустой etcd инстанс. Как показала практика куб продолжает работать в таком режиме и может существовать до того момента пока слегка прифигевший от происходящего админ не выпилит неисправную ноду из кластера. Ситуация вторая, когда у вас по каким-то причинам kube-apiserver начали ломиться в пустой etcd-кластер (бывало и такое), на самом деле это крайне неприятный факап, потому что все кубелеты обнаружат что их нодах не только ничего не запущенно, но и вообще ноды такой не существует и начнут один за другим прибивать ваш workload. При восстановлении бэкапа etcd, они конечно поднимут его снова, но даунтайм конечно будет нехилый.

𝚔𝚟𝚊𝚙𝚜
в целом да, но если интересно, то расскажу. По вс...

В пустой они не начнут ломиться, потому что сертификаты пира етсдклиента не подойдут

𝚔𝚟𝚊𝚙𝚜
Это если у тебя kubeadm)

А если нет? Если не можешь руками поднять - не поднимай

George Gaál
А если нет? Если не можешь руками поднять - не под...

у меня cert-manager выписывает сертификаты к etcd, так что в 99% случаев они всегда валидные

George Gaál
Т.е. ты это куб в кубе ловил?

Да, с тех пор юзаю --initial-cluster=existing для всего и вся

𝚔𝚟𝚊𝚙𝚜
в целом да, но если интересно, то расскажу. По вс...

Неее. С чего бы кублету убивать, если он получил ответ, что ноды такой нет в кластере ??? Вот если бы нода былааа, но в том етсд было написано, что на узле нету подов... тогда да, привел бы состояние к полученному. Ну и флапал бы туда сюда. Тут страшнее csi драйверы. Эти могут pv по удалять

Lucky SB
Неее. С чего бы кублету убивать, если он получил о...

На счёт кубелетов соглашусь это было бы логичным поведением, однако как показала практика последнего случая именно это и произошло. Не имею ни малейшего представления почему. Возможно кубелеты перезапустили свой реконсайлинг луп не удостоверившись что нода существует. Либо они получили утвердительный ответ с одного etcd и пустой список подов с другого или разные моменты времени.

Lucky SB
Неее. С чего бы кублету убивать, если он получил о...

На счёт CSI как раз бояться нечего, если нет ресурсов, то соответственно и в реконсайлинг луп csi-контроллера ничего не попадёт, удалять отсутствующие волумы он не будут. Проверял много раз.

George Gaál
там мог быть автоджойн нод...

Автоджойн тут не причем, кубелеты даже не рестортовали

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта