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

Привет Хочу понять как сделать high availability stateful set для следующего

сценария. Есть кластер, на нем есть группа нодов состоящая из spot instances (провайдер может в любое время отключить ноду с 2ух минутным предупреждением). На спот нодах запущен SS для которого я хочу минимизировать даунтайм. Поды в этом SS требуют небольшое время на разогрев (пул докер образ плюс небольшое время для разогрева бизнес логики приложения). Примерный алгоритм обработки прерывания:

- При получении spot interruption event от провайдера закордонить ноду, но не дрейнить, оставить поды работать
- Запросить новый спот инстанс
- Т.к. нагрузка stateful, заскедулить поды с стейтом как у закордоненой ноды (как?), дать им разогреться но не начать исполнение бизнес логики приложения (опять таки как?). Я знаю что есть readiness probe/startup probe, возможно это как-то прикрутить?
- Как только все поды на новой ноде разогреты, задрейнить закордоненную ноду, при этом при отключении пода сразу же ставить флаг для соответсвующего пода на новой ноде что он может начать работать.

Вопрос, есть ли существующие решения для этого? Если нет, как это сделать? Писать свой контроллер? Если есть релевантные ссылки буду благодарен!

2 ответов

20 просмотров

k8s, stateful set, high available, spot instances Набор тегов, который почти всегда гарантирует боль =)

Надеюсь, двух минут тебе хватит. > При получении spot interruption event от провайдера закордонить ноду, но не дрейнить, оставить поды работать

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
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
Карта сайта