home-ops: инструменты для управления домашней лабораторией на базе Kubernetes
home-ops — это набор инструментов для настройки и управления домашней лабораторией на базе Kubernetes с использованием подхода GitOps. Этот проект упрощает развертывание и управление сервером с помощью конфигурационных файлов в репозитории, что позволяет легко отслеживать изменения и обеспечивать повторяемость.
Основная задача, которую решает home-ops, — это облегчение процесса управления локальными кластерами Kubernetes. В отличие от более громоздких решений, таких как Rancher или OpenShift, этот проект предлагает легковесное и настраиваемое решение, которое идеально подходит для разработчиков и системных администраторов, желающих быстро настроить домашнюю лабораторию без лишних затруднений.
К проекту можно подключиться через Talos Linux, а для запуска потребуется Kubernetes-кластер. Обрати внимание, что проект находится на ранней стадии разработки и может не поддерживаться на всех операционных системах. Также есть активное сообщество в Discord, что может быть полезно для решения возникающих вопросов.
Проект chr1sd/home-ops представляет собой репозиторий, посвящённый домашнему лабораторному окружению на базе Kubernetes. Основная цель этого проекта — углубление знаний в области Kubernetes и применение подхода GitOps в управлении достаточно мощным кластером, работающим на операционной системе Talos Linux. В этом проекте разработчик делится своим опытом и настройками, результатом которых стал функционирующий кластер на базе железа, собранного самостоятельно.
Аппаратное обеспечение
В проекте используются следующие аппаратные компоненты:
| Система | Роль | ЦПУ | ОП | Графика | Диск (загрузочный) | Диск (хранение) |
|---|---|---|---|---|---|---|
| Minisforum MS-01 (3x) | Контрольная панель/Рабочий узел | Intel i9-12900H | 96GB DDR5 | Intel Iris XE | Samsung PM983 960GB M.2 NVME | Crucial 1TB M.2 NVME |
| HL15 2.0 | NASS | AMD Epyc 7452 | 256GB DDR4 | 512GB NVME Mirror | ZFS RaidZ2 Pool (12x 28TB Disks) | |
| Retired Gamer | ИИ | Intel i7-6700K | 64GB DDR4 | 2x RTX 3090 | Kingston 1TB NVME |
Программное обеспечение
Кластер работает на Talos Linux — операционной системе, специально разработанной для Kubernetes, которая обеспечивает неизменяемость и управление через API. Talos упрощает конфигурацию системы для GitOps-подхода.
Сети
Сетевая инфраструктура лаборатории построена на оборудовании от Ubiquiti с настроенными VLAN для IoT, управления, DMZ и камер. В кластере используется Cilium для управления сетевым трафиком, а трафиком приложений управляет Envoy Gateway.
Наблюдаемость и хранилище
Для наблюдения за кластером используются следующие инструменты:
Постоянное хранилище реализовано с помощью Rook-Ceph, которое использует NVMe диски для хранения данных и обеспечивает репликацию данных между узлами кластера.
GitOps с Flux
Основу кластера составляет Flux CD — контроллер GitOps, который синхронизирует состояние Kubernetes с репозиторием Git. Flux проверяет, соответствует ли текущее состояние кластера состоянию в репозитории, и исправляет любые расхождения. Что касается обновлений, то для этого также используется Renovate.
Если ты заинтересован в создании собственного домашнего лабораторного окружения, проект chr1sd/home-ops может послужить отличным примером.
Открыть на GitHub: chr1sd/home-ops →
RepoRadar