𝚔𝚟𝚊𝚙𝚜
А вот та diskless штука из доклада, она по какому протоколу до drbd дисков ходит и как знает какой из них активный?
Нет, она использует тот же drbd9 и является полноценной репликой, когда дисклесс реплика находится в primary она просто реплицирует изменения на остальные
G72K
ты действильно считаешь что все должны понимать как работает k8s без понимания зачем он должен работать? и это считать за оффтоп? uhh, well... так и будем клеймить все хайпом и модой, без понимания зачем оно было придумано
Так и вижу как инструктор в автошколе на первом занятии: "ты понимаешь зачем машину водить собрался? Насколько осознанный твой выбор в пользу автомобиля против общественного транспорта? Семью возить? Ты уверен, что знаешь для чего институт семьи придуман и взвешенно идёшь этим путем?"
G72K
Нет, она использует тот же drbd9 и является полноценной репликой, когда дисклесс реплика находится в primary она просто реплицирует изменения на остальные
Как там на практике перезагрузка сервера с дисками устроена? Оно же должно синхронизировать все пропущенные записи, где то хранится их лог?
Anonymous
это не относится к экономике выбора, это скорее про то что к тебе приходит покупатель и просит тачилу шобы ездила и шобы таксовать по ночам, а ты ему советуешь фигню расхайпованную тк ты не шаришь за тачки, тебя посадили консультантом потому что ты водишь круто на своей девятке и им почемуто показалось что ты во всем так шаришь, и ты считаешь что это как бы не твои проблемы что ты хуево тачки советуешь, ведь девятку водишь? водишь консультантом тебя поставили? поставили тачки советуешь? советуешь вот только покупатель больше не придет к таким кретинам и другим не посоветует и ты спустя n лет окажешься на бирже труда не понимая почему ваша контора разорилась, наверно потому босс кретин нанимает не пойми кого говоришь ты про своего коллегу который херово тачки в соцсетях продвигал, ведь он не шарит за соцсети, он до этого холодными звонками занимался в другой конторе которая тоже разорилась
Anonymous
не ну а что, зачем ему разбираться в смм? он шарит в продажах? шарит его босс попросил помочь в смм? попросил значит это его вина, не твоя, у них hr плохо работает, а ты как просиживал штаны так и будешь просиживать, ведь это они виноваты в том что ты не хочешь развиваться, а не ты
Vadim
это не относится к экономике выбора, это скорее про то что к тебе приходит покупатель и просит тачилу шобы ездила и шобы таксовать по ночам, а ты ему советуешь фигню расхайпованную тк ты не шаришь за тачки, тебя посадили консультантом потому что ты водишь круто на своей девятке и им почемуто показалось что ты во всем так шаришь, и ты считаешь что это как бы не твои проблемы что ты хуево тачки советуешь, ведь девятку водишь? водишь консультантом тебя поставили? поставили тачки советуешь? советуешь вот только покупатель больше не придет к таким кретинам и другим не посоветует и ты спустя n лет окажешься на бирже труда не понимая почему ваша контора разорилась, наверно потому босс кретин нанимает не пойми кого говоришь ты про своего коллегу который херово тачки в соцсетях продвигал, ведь он не шарит за соцсети, он до этого холодными звонками занимался в другой конторе которая тоже разорилась
Бгг, алгоритм Крея для покупки автомобиля
𝚔𝚟𝚊𝚙𝚜
Как там на практике перезагрузка сервера с дисками устроена? Оно же должно синхронизировать все пропущенные записи, где то хранится их лог?
Ну мы protocol C используем, то есть все операции записи осуществляется синхронно на все девайсы, есть ещё async или semi-sync, в любом случае выключать реплики должно быть без outage. При восстановлении тоже, будет быстрый ресинк и все.
Andrey
@kvaps Спасибо за pull request! Субмурно вопрос получился, надо ответ всё-таки получить. Подскажи, что значит один под на ноду? Как у вас вообще scheduling устроен и что за workload'ы вы вообще в Kubernetes гоняете? Оверселлите ли ресурсы, как используете HPA/VPA?
𝚔𝚟𝚊𝚙𝚜
@kvaps Спасибо за pull request! Субмурно вопрос получился, надо ответ всё-таки получить. Подскажи, что значит один под на ноду? Как у вас вообще scheduling устроен и что за workload'ы вы вообще в Kubernetes гоняете? Оверселлите ли ресурсы, как используете HPA/VPA?
Под на ноду - это довольно условно, подов на самом деле больше, но как правило мы не видим особого смысла делить нагрузку если нет на то везкой причины. Пример нагрузки: нагруженный веб-сервер (Apache) с кучей клиентских сайтов или база данных с кучей юзеров.
𝚔𝚟𝚊𝚙𝚜
Т.е. multi-tenancy нет?
Мы не предоставляем куб пользователям, мы используем его сами для деплоя наших сервисов.
𝚔𝚟𝚊𝚙𝚜
Так что multi-tenancy, можно сказать нет
George
что делать с бипатридами?
George
вся эта локальность данных здорово, но я так понимаю, что реплики за рубежом никто не запрещает иметь
George
G72K
Я тут после товарища с foundationdb погуглил про этот nbd, оказывается живее всех живых штука, вот например есть https://github.com/libguestfs/nbdkit эдакий FUSE но для блочных устройств :)
Nikita
Я тут после товарища с foundationdb погуглил про этот nbd, оказывается живее всех живых штука, вот например есть https://github.com/libguestfs/nbdkit эдакий FUSE но для блочных устройств :)
Да на самом деле много чего есть на эту тему :) я форкнул https://github.com/samalba/buse-go так как на си не очень хочется писать, а первоначальная реализация nbd на джаве была очень медленная
𝚔𝚟𝚊𝚙𝚜
Если синхронно на все девайсы то выключить ничего нельзя же будет
Можно, пока хотя бы одна реплика есть живая I/O не остановится
𝚔𝚟𝚊𝚙𝚜
Но если не локально, то лучше iSCSI - он стабильнее намного
Nikita
Кстати насчёт nbd, какая ошибка была бы более ожидаема в случае одновременного подключения экспорта с двух разных хостов? Пока у меня мысль о том чтобы отключить старый хост и слать ему ESHUTDOWN в ответ на все запросы, а новому хосту дать возможность подключения без каких-либо проблем.
G72K
Можно, пока хотя бы одна реплика есть живая I/O не остановится
Вот вторая реплика вышла после перезагрузки, она же не может начать подтверждать записи пока не синхронизирует все, что пропустила. Как синхронизация устроена? Без журнала блоков или скажем их версий оно же должно полностью все что есть пересинхронизировать
𝚔𝚟𝚊𝚙𝚜
Синхронизация емнип использует что-то типа хэш-таблиц, то есть не реплецируется все данные а сравниваются метаданные, и синхронизируются только изменённые блоки
Nikita
В смысле, ты эти отключения на стороне клиента хочешь отрабатывать?
Ага, если например два контейнера пытаются законнектится к одной volume, то только один должен иметь доступ. На каждый запрос отсылается lease token, и клиенты всегда проверяют что тапки все ещё принадлежат им.
Ильдар
@SinTeZoiD
𝚔𝚟𝚊𝚙𝚜
Ага, если например два контейнера пытаются законнектится к одной volume, то только один должен иметь доступ. На каждый запрос отсылается lease token, и клиенты всегда проверяют что тапки все ещё принадлежат им.
Я бы не стал так заморачиваться. Куб и так по умолчанию следит за маунтами, и по определению не будет запускать заатаченный том где-то ещё. Как вариант можно еще на уровне ext4 использовать multimount protection
𝚔𝚟𝚊𝚙𝚜
В случае с drbd там ещё есть защита на уровне drbd, по умолчанию только один ресурс в кластере может быть primary (быть смонтированным и использоваться для осуществления операций чиения и записи) второй такой девайс смаунтить в систему уже не удастся, а любое обращение к нему будет заблокированно.
𝚔𝚟𝚊𝚙𝚜
Может проще будет запускать в поде два контейнера с одним Emptydir, один контейнер - приложение, второй - суперкроник который выполняет его обновление
Вообще скейлить и на local volumes можно, тот же drain по умолчанию пытается мигрировать поды local volumes. С --force у него это даже получается, главное чтобы приложение умело перереплицировать без даунтайма.
𝚔𝚟𝚊𝚙𝚜
что вы вообще сейчас сказали?..
Сорри, читаю снизу вверх, отвечаю не всегда в попад)
𝚔𝚟𝚊𝚙𝚜
Либо просто добавить в под ещё один контейнер с while true; do git pull ... && sleep 12h done
𝚔𝚟𝚊𝚙𝚜
и вообще, мне кажется что не очень правильно всю инфраструктуру / архитектуру приложения перевеодить во что-то одно типа, о, придумали контейнеры, бежим срочно все упаковывать в контейнеры о, серверлесс, нахуй контейнеры, пишем функции вот с контейнерами тоже. Они тоже не для всего подходят, они хороши для stateless приложений типа сервера, для быстрого деплоя и постоянного обновления, для CI/CD. Это cattle, который immutable и его можно убивать все время но контейнеры не для всего лучшее решение, те же базы данных, файловые и блочные хранилища и весь прочий statefull уже хуже ложится. И это нормально. Почему бы не использовать все по своему назначению, тем более что бд-сервер наверное не так часто выкатывать приходится как приложения вашего бизнеса. У FaaS тоже вполне себе ниша своя, это event-based процессы. Так что мне кажется этот паттерн должен не заменить контейнеры, а гармонично его дополнить
Я бы сказал что контейнеры это немного более низкоуровневая штука в отличии от serverless. Ну то есть serverless тоже надо в чем-то запускать
Pavel
Спасибо)
Vladimir
Всем привет, задача: есть EKS кластер в AWS(в одной организации, назовем ее qa-team), есть SSL сертификат(в другой организации, назовем ее root) в ACM (AWS Certificate Manager, экспортировать нельзя, пошарить на другую организацию тоже) Вопрос: можно ли как-то создать ELB(LoadBalancer) в root организации чтобы он как-то балансировал на EKS в qa-team организации?
Vladimir
https://t.me/aws_ru
Спасибо, попробую там =)
Egor
Есть ли смысл ставить kubernetes, на одном виртуальном сервере, или есть смысл докупуить второй виртуальный сервер? Есть вообще практика деплоя домашних страничек на kubernetes?
Egor
Тогда и третий сразу
Может тогда лучше без kubernetes обойтись для pet projects?
Alex
Может тогда лучше без kubernetes обойтись для pet projects?
Хороший вариант, но если вдруг надо будет масштабироваться - будет чуть меньше боли, если проект сразу пилится под кубер
Валентин
Grigorii
у кубовского control plane оверхед такой нехилый, один апи-сервер у тебя только 400Mi памати отожрет
Egor
Хороший вариант, но если вдруг надо будет масштабироваться - будет чуть меньше боли, если проект сразу пилится под кубер
А для одной ноды рекомендутся использовать minikube, но там пометка что не для продакшена? Значит получается для одной ноды в продакшене лучше всё-таки использовать kubeadm, или у кого-то есть другие идеи?
Grigorii
так что подумай, надо ли оно
Alex
Если просто "нормально делать", то и в куб потом заедет. Нафиг щас время тратить?
Часто сложно делать нормально, когда у тебя обычный сервер :-) Но вообще да, профиты очень небольшие. Хотя через kubeadm для тренировок на хецнере за 25 евро можно нормальный дедик взять, которому оверхед кубера не страшен и сразу отловить некоторые подводные камни, пока не стало больно из-за того, что всё горит и срочно надо перетаскивать всё в кубер
Egor
у кубовского control plane оверхед такой нехилый, один апи-сервер у тебя только 400Mi памати отожрет
Может что-то есть, что бы меньше хавало? Настройка там какая-то, или локальный компьютер сделать мастером и админить им ноду?
𝚔𝚟𝚊𝚙𝚜
etcd не масштабируется же.
С 13й версии все нормально масштабируется. Мастера можно как и воркеры в любой момент добавлять
Alex
Если 5-10 баксов - то лучше не заморачиваться :-)
Egor
А какой бюджет на это всё?
Хороший вопрос, чем меньше тем лучше))
Grigorii
вообще ради странички можно зарегаться в GKE и получить 300 баксов на год
Grigorii
и будет у тебя нормальный куб
Alex
Кстати, у DO вроде дешёвый куб можно получить
Alex
А ради второго года что делать?
Переехать на хецнер 😂
Grigorii
на второй год пойти к Azure ;))
Eduard
Базовое,
Alex
5$ + 15LB
А если на одну ноду развернуть - то lb тоже нужен?
Eduard
Нет
Alex
Тогда самый дешёвый вариант, в принципе )
Eduard
Но как только тебе понадобится 80,443 - купишь как миленький
Egor
Кстати, у DO вроде дешёвый куб можно получить
Я от них решил уйти их ip роскомнадзор забанил, а они всё равно решили 20% платить...
Alex
Который без боли можно будет масштабировать