понять, как их правильно организовать. Стек простой: golang+cockroachdb. Итого у меня есть три варианта:
1) Контейнер приложения и контейнер базы лежат в одном поде внутри стейтфул-сета.
2) приложение и база в разных подах, база в стейтфул-сете, у базы отдельно есть балансировщик.
3) базу вообще вынести из кубов.
Как организовать все кошерно/феншуйно?
А задача какая?
Я подниму снова вопрос, т.к. он затерялся немного в предыдущей дискуссии. И так, каким образом размещать бд сервиса в кубернетес: в одном поде с сервисом, в разных подах, за кубами (т.е. непосредственно на сервере)?
Если у вас приложение висит вместе с базой, то вы ни отмасштабировать отдельно их не сможете, ни разнести на разные ноды. Остальные два варианта debatable, классически верным считается держать базу отдельно (потому что иначе вы либо все равно ее привязываете к конкретным нодам, либо она у вас висит с сетевым диском, и там могут быть совсем интересные непредвиденные случаи), но это убивает половину ценности наличия кубера.
база в statefulset+сервис, приложение в отдельном деплойменте (возможно с HPA - если надо скейлить) и ходит в базу через сервис
Обсуждают сегодня