Search
Write a publication
Pull to refresh

Comments 45

Нежелательно, но можно так как нагрузка не должна делить ресурсы с управляющими компонентами. По умолчанию не будет работать, в Kubernetes реализован механизм taints который не даст запуститься нагрузке на мастер узле, нужно удалить с него taint с ключом node-role.kubernetes.io/control-plane, но не делайте так на продакшене пожалуйста)

На домашнем продакшене можно)

Как-то перебор для синхронизации obsidian городить кубер кластер. Обычного гит хватит скорей всего. Ну или Syncthing какого-нибудь

Согласен, но это "заделка на будущее", чтобы один раз сделать и больше не думать где хостить тг ботов, мелкие веб приложения для себя. Но главное, конечно, это то что это домашний проект и все логические доводы падут под "мне так захотелось и я сделал")

 чтобы один раз сделать и больше не думать где хостить тг ботов, мелкие веб приложения для себя. 

Так это и без кубера можно

т.е. обсидиан и его синхронизация в сущности и ни при чем?:) . зашел собственно узнать чего такого не может vps сервер, с чем справляется мой андроид телефон. а оказалось, что "запуск готового Docker-контейнера сильно нагружал процессор сервера, из-за чего даже подключение по SSH становилось затруднительным".

Все же это уже не сервер для синхронизации, и непонятно был ли он им когда-либо.

'Один раз сделать' это когда вышеописаннное лежит в ансибле и гите :)

В целом было интересно, жду продолжения, где ТС будет в контейнерах запускать серверы ла2 и Майнкрафта.

Мне кажется что в таких экспериментах не набёртся материала на отдельную статью, но спасибо)

Да нет как раз таки. Очень интересует как такое сделать с Майнкраф сервером, т.к. сын увлёкся этим, и очень сильно хотелось бы узнать, как это сделать.

А точно для домашней виртуализации надо брать три хост-машины ( три миниПК) или планируется обслуживать кластер " на лету"?

Необходимости, как таковой, нет. Вы можете использовать и две и одну машины (пожалуйста, не делайте так в продакшене)). Конкретно мой выбор обоснован следующими факторами: 1) На кластере из одной машины системные компоненты откушивают приличное количество процессорного времени на дешёвом железе, а переплачивать за мощный процессор нет смысла (пользователь либо один в лице меня, либо несколько человек). 2) Надёжность, возможно даже излишняя для дома, все диски существуют в трёх репликах (в данном случае по одной на каждый мини пк) и если один пк сгорит то можно просто подключить в кластер новый пк заместо старого (предположим импульс пожёг вообще всё внутри) или просто заменить ссд, все данные будут в сохранности. 3) Психологически показалось что одной машины под полезные нагрузки не хватит, поэтому взял две, к сожалению тут нет ни расчётов, ни прикидок, я так чувствовал)

С одним мастером возможность "обслуживания кластера на лету" немного ограничена.

С одним мастером возможность "обслуживания кластера на лету" немного ограничена.

Немного полностью ограничена. 😁😁😁

Можно сделать и три мастера и запускать на них виртуалки, но тут вопрос в избыточности для домашней лабы

Воркеры вполне можно в обслуживание выводить при такой схеме.

К сожалению или к счастью у воркеров нет скрипучих вентиляторов, которые так занимательно смазывать. Нет контактов в слотах памяти, которые можно протереть спиртом.

Можно менять умерший ссд на воркере, что, надеюсь, в скором времени делать не потребуется...)

Несколько вопросов.

  1. Это прям полноценный k8s? Почему не использовать какой нибудь k3s?

  2. Как по итогу хватает ресурсов такого железа? Тем более один только gitlab потребляет под 2 gb ram

  3. Можно ли как то прикрутить туда внешнее хранилище? Прошло столько лет, а флешбеки надёжности первых ссд оставили свой след

  1. Полноценный. Хотелось совместить декларативность кубов и виртуализацию так как решение домашнее, забыв про развёрнутое кривое веб приложение "наружу" не хочется получить у себя в сети нежелательных гостей, поэтому просто взял готовую платформу виртуализации на кубах.

  2. Пока что только сервер nextcloud и крутится, никак не доберусь даже чтобы развернуть упомянутый gitlab, не хочу вводить в заблуждение ответом, если вспомню то принесу ответ как дойдут руки.

  3. В Kubernetes, за хранилище ответственны csi плагины, соответственно, вы можете найти тот который поддерживает интересный вам тип хранилища и использовать вместо(может и вместе) с sds-replicated-volume.

Всегда боялся делать такое на "гражданских" дисках, наблюдая за тем как даже по началу пустой тестовый кластер грузил еле живую полку. Есть ли какие-то значения записанных объемов данных за день, чтобы прогнозировать ресурс ssd? В свой песок брал серверный. К сожалению, сегодня не много таких устройств, куда можно впихнуть или u.2 или m2 22110 формата

Звучит как интересная метрика, которую, к сожалению, не снимал пока что. Постараюсь не забыть и вернуться когда проведу такие замеры

Прошу прощения, но переход от "где бы похостить синхронизацию обсидиана" до "а разверну-ка я кластер кубернетса" для меня выглядит не вполне очевидным.
Я понимаю, что дома и разворачивание кластера для собственного удовольствия и исследований - дело нормальное.. Но если исходить из функциональных требований, разве что-то попроще уровня обычного докера не подошло бы?

Данный логический переход, в основном, формируется в том что я психанул, в статью, по понятным причинам, такой аргумент приносить не хотелось)

Не замеряли, какой оверхэд у DVP по сравнению с использованием чистым Talos Linux на baremetal mini PC?

К сожалению, пока что таких тестов не проводил

А не могли бы вы, так сказать, для полноты картины, также выложить количество подов, которое запускает Декхаус и то сколько это все добро потребляет для обслуживания только самого себя, так сказать без полезной нагрузки.

Сомневаюсь что метрика по количеству подов релевантна, но их 121 в моей конфигурации) По ресурсам без нагрузки есть скрины htop'а под катом под конец статьи

И вас устраивает, что без нагрузки ДКП съедает на мастер-ноде 50% процессорного времени (4 ядра), а на воркер-нодах 10% (также четыре ядра)?

Вполне, необходимости запускать виртуалки на мастере у меня нет (пока что по крайней мере) А 10 процентов на воркерах не выглядят чем-то пугающим.

Реализация супер!

А если захочется где-нибудь этот кластер захостить, какие варианты размещения есть? В обычную стойку в коллокейшене это не запихнешь.

Спасибо за добрые слова)

А вот по вопросу, честно говоря, не совсем понял. Подойдут любые 2-3 сервера выше требуемых ресурсов, можно и 1 сервер если не в продакшене, так же платформа поддерживает вложенную виртуализацию и, если это поддерживает железо, можете развернуть кластер на виртуалках.

@Fearning Ну обычно сервера на коллокейшн хостингах берут в стоечном корпусе, чтобы потом можно было эргономично в стойках размещать, но и стоят они соответствующе, а тут дешево и сердито, да еще и распределенно. Вот только вопрос, где вот такие мини дадут разместить, если потянет в прод?

Что будете делать, если сдохнет мастер нода? Прям физически? Расскажу про свой опыт. Был у меня домашний сервер на Intel NUC (i5, 32GB RAM, 256 GB SSD). Хостовая система - не Ububtu, а VMware ESXi. Там были подняты разные виртуалки, среди прочего - три Ubuntu под k8s (master + 2 worker'а). В какой-то момент сервер сдох. Не ssd, а что-то с питанием. Реанимировать не удалось. Купил новый на алиэкспрессе (тоже формат мини-пк за 16 т.р. на AMD Ryzen7), воткнул ту же память, ssd, но добавил еще один ssd на 512GB. Восстанавливать кластер k8s из бэкапов виртуалок не стал, собрал новый с нуля. Так вот, про надёжность. Если у меня сдохнет новый мини-пк - кластера не будет, но если вам не повезёт, и накроется мастер-нода, то от воркеров тоже толку мало будет. А вот если за 35 т.р. (возьмём ваш бюджет для примера) купить на алиэкспрессе 2 мини-пк, на каждом из них будет VMware ESXi и по 3 виртуалки (master + 2 worker'а), живучесть кластера будет более чем приемлемая для домашнего сервера. Кстати, у меня не все ресурсы под k8s используются. Есть еще виртуалка под AmneziaVPN и еще виртуалка под Gitlab. ESXi настроен так, что виртуалка c VPN поднимается первая при появлении питания. Это на тот случай, если я в отъезде, и что-то случилось (например, отключали электричество, потом оно появилось, а кластер k8s по какой-то причине не поднялся). С работающим VPN я могу подключиться и поднять всё остальное. А Gitlab поднял на отдельной виртуалке, потому что в кубере поднять сходу не получилось, и я не стал заморачитьвася, поднял за 20 минут на отдельной ВМ. Ну и ещё пару слов - есть еще NAS сервер, на котором открыты NFS шары, которые можно монтировать в кластере k8s, если нужно постоянное хранилище (так работает, например, торрент-качалка).

К чему я всё это? Просто когда я увидел "Контейнер с мини-пк", где ноды кластера = физические машинки, подумал, что это не лучшее решение. Зачем лишать себя свободы, которую даёт дополнительный слой виртуализации в виде ESXi с её виртуальными машинами? Хотя ваше решение, безусловно, имеет право на жизнь. В конце концов, домашний сервачок тем и хорош, что делай что хочешь, всё ограничено только вашей фантазией и бюджетом )

В случае смерти мастера останется ещё две ноды хранилища на которых хранятся pv дисков, будет неприятно но не смертельно, пусть и с простоем.

купить на алиэкспрессе 2 мини-пк, на каждом из них будет VMware ESXi и по 3 виртуалки (master + 2 worker'а)

А как такая конфигурация сформирует кворум?

Ну прикольно, чтоб нормально от макетировать решение нужно своих денег докинуть ! Видно это у всех россиянских компаний такой подход --- важнее Билана на кооператив пригласить, чем ресурсы для стендов приобрести

Что именно в статье вас привело к таким умозаключениям?

Создавать макет для россиянского баяна .... удовольствие сомнительное

Мотивация описана в самой статье, причем тут биланы, баяны и прочие домыслы.

А при том что россиянские решения это устаревшая пакетная база и костыли ... не я лучше решения от RED HAT по юзаю ! По крайней мере ознакомлюсь с рабочими решениями ....

Спасибо за заботу о моих финансах. Подскажите пожалуйста, вам часто оплачивают личные проекты за счёт компании?

Sign up to leave a comment.