‌‌‎D
прокси надо запускать на ноде. не на своей тачке
Спасибо, пытался найти в оф.документации не нашел такого. Одним из путаниц было то, что я разворачивал через ансибл.
Roman
kubespray?
Норм инструмент? Тоже на него натыкался.
Roman
Спс
‌‌‎D
kubespray?
Не знаю что это)
Evgeniy
Да так то вообще огонь
ну хз, неоднозначное впечатление о нем сложилось. Отдаю предпочтение kubeadm
Yaroslav
Привет всем, товарищи девопсы просветите на тему репликации монги в k8s: На данный момент есть монга которая крутится в проде : 1 инстанс Поступила задача настроить ее репликацию для развертывания используется helm Для выполнения задачи нужно: 1) Убрать deployment конфиг 2) Добавить storageClass (Он обязательный ? ) 3) Добавить Headless - обычный Service который предоставляет уникальный адрес без которого приложениям придется подключаться к репликам по отедльности ? 4) добавить StatefulSet После применения этих конфигов существующий инстанс монги удалится и поднимутся 3 реплики + 1 хедлесс монга Я правильно описал процесс ?
Andrey
есть готовый чарт с репликацией
Andrey
https://github.com/helm/charts/tree/master/stable/mongodb-replicaset
Yaroslav
Эт очень круто, спасибо. сейчас изучу)) Но то что я написал верно ?
Andrey
не спец в монге. Я бы просто сделал дамп, поднял репликасет, залил туда дамп, поправил бы connection string в аппликуе и всё
Misha
велл, ну не все так просто
Misha
насчет монги
Misha
данные рассинкаются, пока твой дамп накатится. Даже если не дамп, даже если со снапшота диска на облаках восстановишься
Andrey
разумеется. если нужно всё делать по уму, либо устраиваем даунтайм, либо открываем доки монги и включаем мозг. Задача стандартная, наверняка есть решение
Misha
там примерно так можно сделать; 1. Поднял на кубере все ноды 2. Подключил их к прод-кластеру как реплики, можно без чтения в приложения 3. Подключил реплики к приложению 4. Перевыбрал мастера на ноду из кубер-кластера 5. Отсоединяешь старый кластер
Misha
Как-то так, но там без даунтайма можно в принципе
Misha
и мэйк шур, что чарт подразумевает концепцию hidden-реплики, чтобы с прода голого бэкапы не снимать; ну это очевидно наверно
Mikhail
а как мейк шур что headless service на primary mongo указывать будет? писать же только в primary даст, или включать все реплики в connection string
Misha
монга не мускуль, у нее нет фиксированного мастера в реплика сете, он постоянно меняется
Misha
если дравйер умный, то он будет спрашивать через фиксированный интервал
Misha
если тупой, то будет спрашивать каждый раз
Misha
с пыхой так раньше было по крайней мере
Yaros
народ, может кто подсказать как у редиса с репликацией? Меня убеждали, что он не может в несколько мастеров с репликацией между ними. Что мол мастер нод падает и все, отказ редиса полный идет. Я не специалист по редису, но догадываюсь, что возможно человек просто не знает чего-то. Смотрел на redis sentinel он не решает проблему? Там просто не совсем понятно написано можно ли сделать несколько мастер узлов, разнести их и настроить между ними репликацию данных.
Etki
У редиса все плохо. Формально умеет, на практике используйте нормальные инструменты.
Misha
есть либо master-slave, где с падением мастера падает все, либо redis-cluster с делением на шарды
Misha
redis-cluster хорошо работает, но с ним то ли не все драйверы работают, либо все, но нужно будет переписывать логику приложения, если присутствует
Misha
redis-sentinel это уже легаси вроде бы, redis-cluster решает эту задачу
Misha
multi-master как такового не существует
Etki
там вроде была координация запросов, но опять же, если вы хотите уверенности в завтрашнем дне, не используйте его вообще
Andrey
#helm у helm есть возможность создать ресурс только при начальном развёртывании? Usecase следующий: нужно создать configmap с дефолтным конфигом приложения, но потом перестать его контролировать. Аналог в rpm - это файлы конфигурации.
Anonymous
нет
Andrey
спс. значит вручную буду делать
Алексей
А зачем вам редис?
Etki
редис не нужен [x]
Viktor
А что нужно?
Bro
мемкэшед какой-нибудь?
Etki
(ща меня как следует отдуасят) аэроспайк, они вроде как вернули возможность задавать Node ID самостоятельно
PsyDebug
Если нужен прям кластер, то лучше уж каучбэйс какой нибудь
Andrei
А еще можно tarantool vshard
Etki
А зачем?
Зачем что?
Igor
Зачем что?
"задавать Node ID самостоятельно"
Etki
а как его в стейтфул сет иначе превратить
Igor
а как его в стейтфул сет иначе превратить
Хм. Надо попробовать будет поигратся в кубере. Вроде не играло особой роли при масшатибровании клсатера. С мешем просто имена генериш, с мультикастом само. Конечно может генерится мусор из мертвых нод но новые со старыми данными должны втыкатся без проблем.
Etki
ну это только если его как ин-мемори использовать
Ivan
а что, господа, кого уже кусала https://blog.quentin-machu.fr/2018/06/24/5-15s-dns-lookups-on-kubernetes/ как побеждали? что-то ни один workaround (и с шейпингом) не помогает
Кусала, забили костыль в виде postStart хэндлера, в котором забиваем внешний dns в resolv.conf, у нас в кубе пока только веб, поэтому service discovery не нужен
Ivan
А там гляди и патч в ядро дотащат
Александр
Везёт. А нам нужон
Александр
Буду dnsmasq на каждую ноду костылить. Другого выхода нет Скоро рассвет
Ivan
Я б unbound закостылил
Ivan
Он умеет не давать кэшу протухать
Александр
Не осознаю масштаба трагедии
G72K
#helm у helm есть возможность создать ресурс только при начальном развёртывании? Usecase следующий: нужно создать configmap с дефолтным конфигом приложения, но потом перестать его контролировать. Аналог в rpm - это файлы конфигурации.
Создавайте ресурс из Job которую запускать при первом инсталле (там через аннотации хуки запускать можно). Но вообще не очень хорошо так делать, воспроизводимостью результата жертвуете
Andrey
в чужой монастырь со своим уставом не лезут, конечно, но мне просто не нравится идеология хелма, который берёт на себя больше задач, чем положено пакетному манагеру и шаблонизатору. Хранение конфигураций в values (типа кредов к базе и тд) - как по мне - плохой подход.
Andrey
оно с configmap в secrets и то недавно перелезло
Andrey
подход с job в pre-install хуке годный, но сложный и неочевидный. Я лучше буду вручную создавать configmap и передавать её как параметр через values
bebebe
я собственно хотел предложить хуки в helm'e, но постеснялся от такого решения больше проблем в теории чем пользы
Sashko
https://m.habr.com/company/southbridge/blog/423143/ Или уже все знают?)))
Мерль
https://habr.com/post/423197/
Вадим
данные рассинкаются, пока твой дамп накатится. Даже если не дамп, даже если со снапшота диска на облаках восстановишься
Подниму, если Вы не против :) Зависит от данных, объемах записи в базу, но при монге в replica set в несколько сотен гб сети/дисках 1gbps/ssd: - поднимал в mongodb узел replica set с данными из файловой копии (можно из снапшота диска, но не дамп, он слишком долго наливается) - присоединял к replica set - данные досинхронизировались минут за 10-15.
Вадим
Вполне рабочий метод.
Вадим
мастера в монге можно задать, если вдруг нужно (поднять приоритет в голосах у одной из нод). (но не нужно)))))
Вадим
https://m.habr.com/company/southbridge/blog/423143/ Или уже все знают?)))
Можно я тоже добавлю? ))) Я просто имею к этому отношение.
Вадим
Есть 2 новости, это же второй Слерм, одна хорошая, а другая не так всем понравится))
Вадим
Будет возможность онлайн участия во всех курсах - и в Слерм, который "Кубернетес для начинающих", и в МегаСлерм, "Кубернетес для тех, кто уже умеет". С лекциями, заданиями прямо онлайн и т.п.
Вадим
Но не будет открытой бесплатной трансляции, к сожалению.
Михаил
А вы орг?
Вадим
я из команды оргов, буду ведущим микрофон носить спикерам и т.п.)))
Вадим
интервью брать
Михаил
у меня херовое настроение, посему я доебусь обучать народ это конечно прекрасно, но где ваши тех доклады на митапах?
Михаил
отдельно хочу проехаться по kubeadm и kube-spray обучать народ говну за бабло это прекрасно
Вадим
)
Andrey
https://m.habr.com/company/southbridge/blog/423143/ Или уже все знают?)))
Лооол. 75к. Да они Бунина переплюнули с его баблособирательством на highload++