Sergey
Тюньте. Мне пока не надо, но не вижу причин почему тюнить нельзя. Куб не значит что база живет вместе с сотней других контейнеров
да я и не спорю, что можно с помощью аффинити прибить базу к определенному набору нод, просто зачем? чем такое решение лучше, чем раскатать базу отдельно ансиблом
No1
Аргумент это утверждение призванное подтвердить правоту.
я ж вас спросил, что вы будете делать в такой то ситуации. Где аргумент?
Салтыдык
Sergey
ну вот мы собственно и возвращаемся к https://t.me/kubernetes_ru/44321
G72K
да я и не спорю, что можно с помощью аффинити прибить базу к определенному набору нод, просто зачем? чем такое решение лучше, чем раскатать базу отдельно ансиблом
Унификацией. Кроме того хост конфиг можно подбирать из самого пода внешним процессом. Тогда ноды достаточно просто включить , а там оно само. Т.е. На стороне хоста идет кастомизация, но берется она из пода. Т.е. Все равно все из одной точки конфигурируется
Салтыдык
ну вот мы собственно и возвращаемся к https://t.me/kubernetes_ru/44321
так считать-то не противозаконно, но если уж выносить на публику, аргументируй
G72K
я ж вас спросил, что вы будете делать в такой то ситуации. Где аргумент?
Ситуация это про переезд 3 подов в одну ноду? Ничего не буду, такая ситуация невозможна.
Салтыдык
@rossmohax тебя натраливают
Etki
скорей наоборот
No1
вот прям как уж на сковороде :))
G72K
вопрос был про аргумент:) где он? опять с темы съехали.
Ну этот вопрос подразумевает , что делать нечего и только самоувольнение спасет мою честь. Если я прочитал больше чем написано и вы просто интересовались, чтобы узнать больше про то кпк работает куб, я извиняюсь
No1
я бы новых нод добавил быстренько 🙂 и все поехало как раньше
No1
но не в этом был вопрос 🙂
G72K
вопрос был про аргумент:) где он? опять с темы съехали.
Тема была "базу в кубе держать нельзя". Обсуждение , что есть аргумент, а что нет это как раз съезд с темы.
No1
бд можете держать, тестовую например. почему сразу нельзя? я прям выделал ~прод~
Anonymous
Базу в кубе можно держать, если вы не боитесь, что из-за бага в докере вы её потеряете
Anonymous
Такой баг уже был
Anonymous
Учитывая качество кода в докере вообще легко
Салтыдык
можно на cri-o переключиться
Anonymous
Да хоть на мезос рантайм, гарантий что и там ошибок нет нету)
Салтыдык
ну с таким успехом можно вообще не связывать свою жизнь с этим миром со страхами, что что-то случится)
Anonymous
Точно
Alik
в том же, зачем в другой кластер его?
Не знаю. А кстати, почему именно stolon выбрали а не какой-нибудь patroni?
Alik
на тот момент вроде patroni не было ещё
А если бы выбирали сейчас, то чтобы выбрали?)
Салтыдык
не, был. Не знаю, так сложилось) давно это было
Салтыдык
А если бы выбирали сейчас, то чтобы выбрали?)
я бы оставил как есть) stolon работает и ладно.
Sergey
так считать-то не противозаконно, но если уж выносить на публику, аргументируй
Я уже сказал, что мой личный опыт - такое решение не приносит никаких преимуществ по сравнению с раскаткой базы на baremetal, вы не используете практически никакие из основных вещей в кубере (деплойменты с rollout strategy/сервисы/ингресы/hpa/autoscaling). Кубер подразумевает горизонтальное масштабирование крутящегося в нем, а базы горизонтально не масштабируются (в общем случае). Более того, для того чтобы задеплоить туда базу вы потратите гораздо больше времени и получите более сложную конфигурацию. Ну т.е я за то, чтобы решать реальную задачу средствами для решения именно ее. Например, у людей (во всем мире) была проблема - они не могли безопасно (zero-downtime), быстро и масштабируемо в реальном времени деплоить веб-сервисы (ну т.е могли, но по-настоящему это работало только у тех, кто это знатно удобрял миллионами $$$). И люди придумали сначала контейнеры, для создания воспроизводимых сред, а потом оркестрацию контейнеров, пожалуй лучшей из которых является кубер и он решает именно эту проблему. Ни одна из этих проблем не релевантна для БД, зато проблемы, которые релевантны для БД в проде - нужно решать на кубере костылями
Салтыдык
Я уже сказал, что мой личный опыт - такое решение не приносит никаких преимуществ по сравнению с раскаткой базы на baremetal, вы не используете практически никакие из основных вещей в кубере (деплойменты с rollout strategy/сервисы/ингресы/hpa/autoscaling). Кубер подразумевает горизонтальное масштабирование крутящегося в нем, а базы горизонтально не масштабируются (в общем случае). Более того, для того чтобы задеплоить туда базу вы потратите гораздо больше времени и получите более сложную конфигурацию. Ну т.е я за то, чтобы решать реальную задачу средствами для решения именно ее. Например, у людей (во всем мире) была проблема - они не могли безопасно (zero-downtime), быстро и масштабируемо в реальном времени деплоить веб-сервисы (ну т.е могли, но по-настоящему это работало только у тех, кто это знатно удобрял миллионами $$$). И люди придумали сначала контейнеры, для создания воспроизводимых сред, а потом оркестрацию контейнеров, пожалуй лучшей из которых является кубер и он решает именно эту проблему. Ни одна из этих проблем не релевантна для БД, зато проблемы, которые релевантны для БД в проде - нужно решать на кубере костылями
ну в моём случае, в случае со столоном, проще сделать через кубер, чем стряпать всю архитектуру с нуля на ансибле
Салтыдык
зависит от архитектуры, от опыта и желания. Если кубер позволяет это сделать, то не вижу причин этого не делать. Я ж не против альтернативных решений.
No1
альтернативное решение это как раз бд в кубере 😂
Anonymous
Вижу ток один плюс базы в кубаре, это что всякии мониторинг треш можно спокойно развернуть рядом
Салтыдык
альтернативное решение это как раз бд в кубере 😂
Альтернатива — необходимость выбора одного из двух (или нескольких) возможных решений.
Салтыдык
Вижу ток один плюс базы в кубаре, это что всякии мониторинг треш можно спокойно развернуть рядом
кубер — это просто оркестрация докер-контейнеров, не более. Все проблемы, которые могут возникнуть — это на стыке приложения и докера
Anonymous
Та я т знаю
Салтыдык
если бояться докера, то можно не использовать и вовсе.
No1
Альтернатива — необходимость выбора одного из двух (или нескольких) возможных решений.
почитайте внимательно вики на тему альтернативного решения. не между строк.
No1
максимализм в голове надо вылечивать
Салтыдык
русский — мой родной язык. Значение слова, которое я применил в контексте предложения, которое Вы прочитали, не поменяется.
Stanislav
Альтернатива — необходимость выбора одного из двух (или нескольких) возможных решений.
Не всем нравится принимать решения и отвечать за последствия ))
Stanislav
А в клауде - оно "само".
Anonymous
Всем привет, подскажите, есть ли утилита для переключения разных конфигов, разных кластеров. Спасибо
Anonymous
Kubectl))))
CrusaderX
https://github.com/ahmetb/kubectx
Anonymous
Kubectl))))
сейчас юзаю kubectl --kubeconfig=admin.cinf
Anonymous
https://github.com/ahmetb/kubectx
спасибо, то что нужно
Stanislav
А можно содержимое конфига того?
Dmytro
как выставить контейнеру sysctl-параметры буферов IO?
так можно выставить на всю ноду хоть в priveleged инит контейнере хоть еще как, если остальные приложения стейтлесс то им что huge pages что буферы ио - хуже им не станет
Dmytro
Да хоть на мезос рантайм, гарантий что и там ошибок нет нету)
как и гарантий что нет ошибок в RHEL или там драйвере XFS например, делайте бекапы ну и тд - все как обычно
Dmytro
Всем привет, подскажите, есть ли утилита для переключения разных конфигов, разных кластеров. Спасибо
Мы делаем с помощью direnv, заходишь в папочку а тебе там и правильный кубконтекст, и прочие переменные нужные в этом кластеры установило (включая нужную версию kubectl если надо). Противникам делать cd в нужную папочку каждый раз и полагаться на переменные окружения может не понравится
Dmytro
для любителей GUI еще есть https://kubernetic.com/, ему если подсунуть один файл со слепленными кубконфигами всех нужных кластеров то можно будет мышью кластера переключать и т.д.
Nikolay
Доброе утро, а есть варианты, если хочется странного? Кейс: есть две-три ingress only ноды, на которых запускать можно только daemonset с ingress контролерами или другие полезные daemonset. достигается это через drain --ignore daemonsets. Но после перезагрузки ноды это не работает. Можно ли ноду запускать с этой опцией при старте kubelet(не нашел в описание подобного)? Прописывать явные нод селекторы для всего не хочется.
Alexey
Вчера такой холивар про базы на кубе был, а я не успел)) Моё никому не нужное мнение: Запустить кластер какой-нибудь базы в кубере вполне реально, и он даже будет удовлетворительно работать. Преимущества: ну... можно хвастаться что смог и осилил) Недостатки: базы не знают что они в кубернетесе - всякие memory лимиты им противопоказаны. Следовательно, один Под с базой желательно чтоб распоряжался всей нодой, на которой он задеплоин. Например у монги, кроме кэша вайрвтайгера, который можно задать параметром, есть ещё кэш, который просто занимает половину свободной памяти на ноде, я не нашёл как его можно отрегулировать. И тогда смысл занимать весь сервер с кубернетевским оверхэдом для базы? с персистент-волюмами тоже отдельная тема, но которая имеет несколько решений, со своими преимуществами и недостатками. Но вот сил на то, чтобы это всё отладить и предусмотреть все кейсы уйдёт в разы больше, чем просто поднять рядом снэдэлон-кластер БД и забыть про него (ну ещё монтиоринг настроить, причём клиента запустить прямо в кубере - пусть пишет тудаже, где и все метрики кубернетеса)
Anonymous
Подскажите как пошарить сервис в наружу
Maksim
Вчера такой холивар про базы на кубе был, а я не успел)) Моё никому не нужное мнение: Запустить кластер какой-нибудь базы в кубере вполне реально, и он даже будет удовлетворительно работать. Преимущества: ну... можно хвастаться что смог и осилил) Недостатки: базы не знают что они в кубернетесе - всякие memory лимиты им противопоказаны. Следовательно, один Под с базой желательно чтоб распоряжался всей нодой, на которой он задеплоин. Например у монги, кроме кэша вайрвтайгера, который можно задать параметром, есть ещё кэш, который просто занимает половину свободной памяти на ноде, я не нашёл как его можно отрегулировать. И тогда смысл занимать весь сервер с кубернетевским оверхэдом для базы? с персистент-волюмами тоже отдельная тема, но которая имеет несколько решений, со своими преимуществами и недостатками. Но вот сил на то, чтобы это всё отладить и предусмотреть все кейсы уйдёт в разы больше, чем просто поднять рядом снэдэлон-кластер БД и забыть про него (ну ещё монтиоринг настроить, причём клиента запустить прямо в кубере - пусть пишет тудаже, где и все метрики кубернетеса)
Если говорить о продакшене, то да,в деве можно не парится и держать базу в кубе)
Anonymous
Подскажите, если есть приложение в одном поде с одной репликой и с ингресом, как сделать так чтобы и при обновлении приложения (helm upgrade) не было 5xx ?
Andrey
Никак? Контейнер рестартится.
Andrey
Делать две реплики.
Anonymous
Просто replicas: 2 ?
Anonymous
С replicas: 1 делаю maxUnavail: 0 и получается избежать 5xx, но при фейле новой версии она остаётся висеть вечно и не даёт в дальнейшем обновиться.
Anonymous
Ну руками то я сделаю, а хотелось бы чтобы девы просто новый коммит запушили и всё само.
Anonymous
Serhio
Вчера такой холивар про базы на кубе был, а я не успел)) Моё никому не нужное мнение: Запустить кластер какой-нибудь базы в кубере вполне реально, и он даже будет удовлетворительно работать. Преимущества: ну... можно хвастаться что смог и осилил) Недостатки: базы не знают что они в кубернетесе - всякие memory лимиты им противопоказаны. Следовательно, один Под с базой желательно чтоб распоряжался всей нодой, на которой он задеплоин. Например у монги, кроме кэша вайрвтайгера, который можно задать параметром, есть ещё кэш, который просто занимает половину свободной памяти на ноде, я не нашёл как его можно отрегулировать. И тогда смысл занимать весь сервер с кубернетевским оверхэдом для базы? с персистент-волюмами тоже отдельная тема, но которая имеет несколько решений, со своими преимуществами и недостатками. Но вот сил на то, чтобы это всё отладить и предусмотреть все кейсы уйдёт в разы больше, чем просто поднять рядом снэдэлон-кластер БД и забыть про него (ну ещё монтиоринг настроить, причём клиента запустить прямо в кубере - пусть пишет тудаже, где и все метрики кубернетеса)
касательно монги, вполне рабочий вариант - memlimit на контейнер в X Gb и memlimit для вареного тигра X/2 Gb.
Dmytro
касательно монги, вполне рабочий вариант - memlimit на контейнер в X Gb и memlimit для вареного тигра X/2 Gb.
+1 у меня так и работает уже больше года правда инстанс самый большой мой по меркам монги средненький, все базы в сумме 1.8тб, на 75гб рама ворочается более менее. Ну и sysctl надо навернуть ещё с huge pages и тд
V
Ребята подскажите а как сделать в k8s чтобы все полы когда выходят во внешнюю сеть ходили от одного и того же ip
V
а то получается под используют адрес ноды на которой находятся