Ссылочный указатель:
Заводим домашнюю зверюшку или ХоумЛаба на минималках.
Часть 1. Вводная - Вы тутЗаводим домашнюю зверюшку или ХоумЛаба на минималках.
Часть 2. ГипервизорЗаводим домашнюю зверюшку или ХоумЛаба на минималках.Часть 3. Администрирование ВМ.Заводим домашнюю зверюшку или ХоумЛаба на минималках.Часть 4. Готовим кластер Kubernetes.Заводим домашнюю зверюшку или ХоумЛаба на минималках.Часть 5. Развертываем NFS, PostgreSQL, S3.Заводим домашнюю зверюшку или ХоумЛаба на минималках. Часть там много ещё дальше...
Меня зовут Иван и я - junior DevOps инженер (наш сеньор говорит, что я уже уверенный мидл, но есть у меня сомнения на этот счёт).
Данный цикл статей (а это будет именно он) - это заметки на полях для себя, в качестве дополнительного запоминания материала. Он родился из рефлексии на тему получения профессиональных навыков путём самообразования - я хочу получить опыт работы с инструментами, которые используются в моей профессиональной деятельности.
Мой план-минимум выглядит следующим образом:
развернуть и выполнить базовое конфигурирование гипервизора
создать в гипервизоре несколько виртуальных машин под будущую инфраструктуру (сильно желательно использование инструмента Terraform и terraform-провайдера для гипервизора)
выполнить базовое конфигурирование вирутальных машин (с использованием инструмента ansible): получить на выходе готовые к использованию вирутальные машины с ubuntu server на борту, развернутые с помощью Ansible и, в случае чего, готовые к повторному развертыванию с помощью GitOps методологии
научиться развертывать работоспособный kubernetes кластер из трёх control-plane нод и одной-двух worker-нод
научиться развертывать в kubernetes приложения с помощью встроенных методов (kubernetes manifests) и популярных инструментов FluxCD или ArgoCD. Также рассмотреть все ресурсы kubernetes и, в частности, опробовать работу с Storage Class и GatewayAPI
охватить всю инфраструктуру и сервисы мониторингом, алертингом и логированием
задачка со звёздочкой - попробовать получить доступ к домашнему серверу с kubernetes через другой сервер с публичным адресом в наше тяжелое время.
План предварительный, создавался на старте моих изысканий и, конечно, может (и будет) меняться в процессе выполнения. Но в целом охватывает около 60% профессиональной деятельности. Остальные не позволяет или бюджет или бюджет (например полноценная работа с облаками, резервным копированием и прочими вещами требующими или облачную инфраструктуру или большие вычислительные ресурсы/место на дисках)
Мои рассуждения вывели меня к следующим тезисам:
для практики, разработчику необходимы IDE, каталог под проект, зависимости для проекта и обвязка в виде баз данных и тд. Всё можно поднять в контейнерах с помощью docker compose.
для практики, DevOps инженеру необходима инфра: гипервизор, виртуальные машины в нескольких экземплярах для создания кластеров. Можно обойтись VirtualBox, но это отгрызает место у моего основного ПК (а раз я размещаю цикл статей на нашем сайте, значит и до игр я тоже охоч, а весят новые поделки геймдева довольно много) + результат практики приятней наблюдать в виде неких развернутых сервисов, которыми я буду пользоваться дома.
Значит идём хардверным путём и приобретаем миниПК!
Выбор стоял следующий - взять три миниПК с бюджетными спеками для имитации полноценного кластера гипервизоров или один миниПК с средними спеками для сокращения затрат.
Первое дало бы продуктовый опыт, но нужен ли он мне как DevOps'у? В крупных компаниях зоны ответственности распределены между командами - гипервизорами и ЦОДами занимаются команда админов, а девопсы девопсят своё девопсовое.
В маленьких организациях это имеет смысл, но в них скорее всего будет или облачная история или кластера не будет вовсе - всё будет крутится на одной большой железке.
Делаем вывод и экономим бюджет (sic!) - заказываем на алишке GMKTec M5 Plus. Я его приобретал 31 июля 2025 и ещё за что-то отсыпали 5к баллов яндекс плюс. Спеки видно на скрине ниже.
Ну и заранее попробуем обрисовать себе стек:
гипервизор - proxmox
Infrastructure as Code (IaS) утилиты - Terraform, Ansible
оркестрация контейнеров - kubernetes (microk8s)
хранение исходников - развертываем Forgejo в нашем кластере
хранилище - обычный NFS сервер, возможно S3.
базы данных - в приоритете PostgreSQL и MongoDB, но если приложение работает с чем-то другим - не возбраняется.
С этими мыслями заказываем ПК и готовимся ставить гипервизор.
Следующая глава - Заводим домашнюю зверюшку или ХоумЛаба на минималках. Часть 2. Гипервизор.


Комментарии
Войдите на сайт, чтобы оставить свой комментарий...