Домашний Kubernetes-кластер своими руками

Этот сайт — сборник пошаговых инструкций для тех, кто хочет поднять настоящий Kubernetes-кластер у себя дома: на б/у сервере, мини-ПК или даже старом компьютере. Без воды, без маркетинга — только практика, проверенные команды и честные предупреждения о подводных камнях.

Схема домашнего кластера: роутер, сервер с узлами Kubernetes и домашние устройства
Типичный домашний кластер: один сервер (или несколько), домашний роутер и ваши устройства

Что такое домашний Kubernetes-кластер

Kubernetes (сокращённо k8s) — система оркестровки контейнеров. Говоря простым языком, это «диспетчер», который запускает ваши приложения в контейнерах, следит, чтобы они не падали, перезапускает их при сбоях, распределяет нагрузку между машинами и умеет обновлять приложения без простоя.

Домашний кластер — это тот же Kubernetes, только развёрнутый не в облаке у провайдера, а на вашем собственном железе в квартире или доме. Обычно это один или несколько компьютеров, объединённые локальной сетью, на которых круглосуточно работают ваши сервисы.

В кластере есть два типа узлов:

Для дома вполне достаточно одного узла, который совмещает обе роли, — так работает, например, k3s по умолчанию. Но классика жанра — один управляющий узел и один-два рабочих.

Зачем это нужно

Честный ответ: строгой необходимости нет. Всё, что можно запустить в домашнем Kubernetes, можно запустить и просто через Docker. Но домашний кластер даёт три реальных преимущества:

Для кого этот сайт Для новичков, которые знают базовые вещи: как зайти по SSH, что такое IP-адрес и как работать в командной строке Linux. Опыт с Docker приветствуется, но не обязателен — всё нужное объясним по ходу.

Что понадобится

Минимальный набор для старта выглядит так:

  1. Железо. Один компьютер с 4 потоками процессора, 4 ГБ ОЗУ и 40 ГБ диска — нижний порог. Комфортно — от 4 ядер, 16 ГБ ОЗУ и SSD. Подробный разбор вариантов — на странице «Железо».
  2. Операционная система. Debian 12 или Ubuntu Server 24.04 LTS — обе отлично подходят. Инструкции на сайте дают команды для обеих. См. «Подготовка».
  3. Сеть. Желательно подключение сервера кабелем к роутеру и возможность назначить статический IP-адрес. Wi-Fi тоже работает, но кабель надёжнее.
  4. Время. Первый запуск по этим инструкциям занимает 2–4 часа с неспешным чтением пояснений.
Совет Не гонитесь за идеальным железом. Начните с того, что есть: старый ноутбук или нетбук с 8 ГБ ОЗУ — отличный стартовый полигон. Когда поймёте, что кластер вам нужен и как вы его используете, тогда и выбирайте сервер под реальную нагрузку.

Два пути установки

В инструкциях мы используем два способа развёртывания:

ПутьЧто этоКому подходит
k3s Облегчённый дистрибутив Kubernetes от Rancher. Одна команда установки, встроенные сетевой плагин, балансировщик и provisioner дисков. Работает на слабом железе. Новичкам — рекомендуем начать отсюда. Минимум настроек, быстрый результат.
kubeadm Классический инструмент установки «ванильного» Kubernetes. Всё собирается вручную: containerd, CNI, control-plane. Тем, кто хочет глубже понять устройство кластера или готовится к сертификациям CKA/CKAD.

Обе инструкции приведены на странице «Установка», причём путь k3s разобран первым и подробно, а kubeadm — как «второй путь для желающих копнуть глубже».

Карта инструкций

Сайт построен как маршрут: страницы идут в порядке, удобном для чтения от начала до конца. Но каждая инструкция самодостаточна — можно переходить сразу к нужной.

1. Железо

Выбор б/у сервера на Xeon E5, мини-ПК, старый компьютер или одноплатники. На что смотреть при покупке и чего избегать.

2. Требования

Системные требования для control-plane и worker-узлов: ЦП, память, диск, сеть. Сравнение требований k3s и kubeadm.

3. Подготовка

Установка Debian 12 / Ubuntu Server, SSH-ключи, статический IP, отключение swap, нужные пакеты.

4. Установка

Простой путь k3s одной командой и классический kubeadm с containerd. Проверка, что кластер жив.

5. Сеть

CNI, flannel и Calico, NodePort и MetalLB, проброс портов на роутере, Ingress на примере Traefik и nginx.

6. Хранение

PV и PVC простыми словами, local-path-provisioner, NFS на домашнем NAS, примеры манифестов.

7. Приложения

Первый Deployment с nginx, Kubernetes Dashboard с токеном доступа, сборка и деплой собственного приложения.

8. Примеры

Что обычно запускают дома: Jellyfin, Nextcloud, Home Assistant, Gitea. Идеи и ключевые моменты установки.

9. Советы

Узел NotReady, нехватка памяти, переполнение диска и etcd, резервное копирование, шпаргалка по kubectl.

Как устроен кластер: коротко и с картинками

Прежде чем идти дальше, полезно запомнить четыре базовые сущности. Они будут встречаться в каждой инструкции.

Кластер и узлы

Схема кластера: control-plane и два рабочих узла
Кластер: один управляющий узел и рабочие узлы, на которых работают приложения

Control-plane принимает ваши команды через kubectl, решает, на каком узле запускать приложение, и хранит всё состояние в базе etcd. Рабочие узлы получают задания и выполняют их, докладывая статус обратно.

Под — минимальная единица

Схема пода: контейнер, том и сетевой интерфейс
Под — один или несколько контейнеров с общим сетевым адресом и томами

Приложение в Kubernetes не запускается «само по себе». Оно упаковывается в под (pod) — коробку с одним или несколькими контейнерами, у которой есть свой IP-адрес внутри кластера и, при необходимости, присоединённые диски (тома). Под смертен: если он падает, контроллер создаёт новый. Поэтому данные хранят отдельно — на постоянных томах.

Сеть

Схема сети Kubernetes: сервисы, поды и ingress
Сервис даёт подам стабильное имя и IP, Ingress принимает трафик снаружи

IP-адреса подов меняются при каждом пересоздании, поэтому обращаться к ним напрямую нельзя. Поверх подов создаётся Service — стабильная точка входа с постоянным именем. А чтобы впустить трафик из домашней сети или интернета, используются NodePort, LoadBalancer (MetalLB) и Ingress. Подробно — на странице «Сеть».

etcd — память кластера

Схема etcd: ключ-значение хранилище состояния кластера
etcd хранит всё состояние кластера; его бэкап — ваш главный спасательный круг

Всё, что вы создаёте в кластере, записывается в базу etcd на управляющем узле. Потеряете etcd без бэкапа — потеряете кластер. Как делать снапшоты etcd в k3s, рассказано на странице «Советы».

С чего начать прямо сейчас

Шаг 1. Определитесь с железом

Если сервер ещё не куплен — прочитайте разбор вариантов. Если есть любой компьютер с 4 ГБ ОЗУ — можете начинать на нём, не откладывая.

Шаг 2. Проверьте требования

Сверьте своё железо с таблицей системных требований, чтобы не наступить на грабли ещё до установки.

Шаг 3. Подготовьте систему

Установите Debian 12 или Ubuntu Server по инструкции «Подготовка» — это займёт около часа вместе с настройкой SSH и статического IP.

Шаг 4. Установите k3s

Одна команда из инструкции «Установка» — и через пару минут у вас работающий кластер.

Шаг 5. Запустите первое приложение

Пройдите страницу «Приложения»: поднимете nginx, поставите Dashboard и задеплоите собственный контейнер.

Что здесь намеренно не рассматривается

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

Каждая из этих тем — отличный «сезон два» после того, как базовый кластер по этим инструкциям проживёт пару месяцев.

Что нужно знать до старта

Чтобы инструкции читались легко, проверьте себя по короткому списку. Если какой-то пункт незнаком — это не стена, а подсказка, что погуглить на полчаса перед стартом:

Как устроен маршрут по сайту

Инструкции выстроены так, чтобы каждая следующая опиралась на предыдущую. Вот логика последовательности:

ЭтапСтраницыРезультат на выходе
Планирование Железо, Требования Вы точно знаете, какое железо купить или приспособить, и что оно подходит
Фундамент Подготовка Сервер с установленной ОС, статическим IP и SSH-доступом
Запуск Установка Работающий кластер, kubectl get nodes показывает Ready
Инфраструктура Сеть, Хранение Сервисы доступны из домашней сети, у приложений есть постоянные диски
Применение Приложения, Примеры В кластере крутятся первые сервисы: Dashboard, медиасервер, облако
Эксплуатация Советы Бэкапы настроены, типовые поломки не пугают, шпаргалка под рукой

Опытные читатели могут перескакивать: если Linux уже установлен и настроен, начинайте сразу с установки k3s. Если кластер уже есть — страницы про сеть и хранилище читаются независимо.

Какие навыки вы получите

Пройдя весь маршрут, вы не просто получите работающий сервер — вы освоите полный цикл работы с Kubernetes на уровне уверенного пользователя:

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

Частые вопросы новичков

Это сложно?

Честно — первое знакомство с Kubernetes ощущается как переезд в новую квартиру: непривычно, много коробок. Но инструкции на сайте рассчитаны именно на новичка: каждая команда сопровождается пояснением, что она делает и что должно получиться. Если вы умеете устанавливать Linux и работать в терминале — справитесь.

Сколько электричества будет съедать кластер?

Зависит от железа. Мини-ПК потребляет в простое около 10 Вт — это сравнимо с роутером, который и так работает круглосуточно. Самосборный сервер на Xeon — 60–90 Вт. В денежном выражении при среднем тарифе это разница в несколько сотен рублей в месяц. Подробные цифры — на странице «Железо».

А если у меня всего один компьютер?

Одного узла достаточно — так работает большинство домашних кластеров. k3s по умолчанию совмещает роли управляющего и рабочего узла на одной машине. Многоузловой кластер нужен для изучения отказоустойчивости и миграции подов — это можно добавить позже, когда появится второй компьютер.

Нужен ли белый IP-адрес?

Для работы внутри домашней сети — нет. Для доступа к сервисам из интернета (например, к своему облаку с телефона) — либо белый IP от провайдера, либо туннель. Подробности разобраны на странице «Сеть» в разделе про проброс портов.

Чем k3s отличается от «настоящего» Kubernetes?

k3s — это и есть настоящий Kubernetes, сертифицированный CNCF. Из него убрали редко используемые компоненты (устаревшие драйверы облаков, альфа-функции) и добавили всё необходимое «в комплекте». Все знания, полученные на k3s, полностью переносятся на любой другой дистрибутив: манифесты, kubectl, концепции — идентичны.

А Docker Swarm, Nomad, просто docker-compose?

Для дома всё это работает. Но у Kubernetes решающее преимущество — экосистема и переносимость навыков: helm-чарты существуют практически для любого сервиса, а опыт k8s востребован профессионально. docker-compose прекрасен для одной машины, но не умеет ни самовосстановления кластера, ни декларативного управления несколькими узлами. Начав с k8s дома, вы учите инструмент, который встретите и на работе.

Опасно ли выставлять сервисы в интернет?

При грамотном подходе — приемлемо: HTTPS с сертификатом Let's Encrypt, актуальные версии приложений, сильные пароли, минимум открытых портов (только 80/443 через Ingress). При неграмотном — да: голый HTTP с паролем «admin123» находят сканеры за день. На странице «Сеть» разобрана безопасная схема, а страница «Советы» поможет держать кластер обновлённым.

Сколько времени всё это займёт?

По опыту читателей подобных инструкций: установка ОС и подготовка — около часа; установка k3s — 10 минут; первое приложение — ещё час с чтением пояснений. Итого работающий кластер за один вечер. А дальше начинается самое интересное — наполнение его сервисами под свои задачи, и это занятие без финишной ленты.

Чем этот сайт отличается от официальной документации

Официальная документация Kubernetes (kubernetes.io) — исчерпывающая, но написана для инженеров и покрывает все возможные сценарии, включая кластеры на тысячи узлов. Новичку в ней легко потеряться: пять способов установки, десять сетевых плагинов, сотни опций.

Здесь другой подход: один проверенный путь от покупки железа до работающих сервисов, без ветвлений «а если у вас облако AWS». Все команды реальные и проверяемые, операционная система — Debian 12 или Ubuntu Server, дистрибутив — k3s (с классическим kubeadm как вторым путём). Там, где у темы есть типовые грабли, стоят предупреждения — они собраны из практики, а не из теории.

Философия домашнего кластера

Три принципа, которые стоит держать в голове с первого дня:

Обратная связь Нашли ошибку в команде или устаревшую версию? Напишите на admin@k8s-homelab.ru — поправим.