Локальный Kubernetes: что выбрать под свою машину
Три семьи локальных кластеров, честная таблица версий и лицензий, выбор под macOS, Windows и Linux.
Теорию по Kubernetes можно прочитать за вечер. Пальцы от этого печатать
kubectl не научатся. Разница между «я понял, что такое Deployment» и «я
умею его починить» появляется только когда у тебя под рукой живой кластер,
который не жалко сломать.
Локальный кластер и есть такая песочница. Он поднимается на ноутбуке за десятки секунд, удаляется одной командой, и никто не заметит, если ты уронишь в нём control plane.
Что вообще значит «локальный кластер»
Kubernetes состоит из control plane и нод. Локальные инструменты решают одну и ту же задачу: где взять ноды на одной машине. Ответов три.
Ноды-контейнеры. kind и k3d запускают каждую ноду как обычный контейнер в Docker, Podman или nerdctl. Стартуют быстрее всех, потому что никакой виртуальной машины поднимать не надо. Multi-node тут просто означает «запусти ещё один контейнер». Плата за скорость: ноды живут в контейнерном рантайме и на macOS с Windows недостижимы с хоста напрямую, порты приходится пробрасывать явно.
Ноды-виртуальные машины. minikube умеет и так: драйверы kvm2 на
Linux, vfkit на macOS, hyperv на Windows поднимают настоящую VM без
Docker. Стартует дольше, зато нода ведёт себя ближе к настоящему серверу.
Тот же minikube по факту почти везде запускается с драйвером docker,
который возвращает нас к первой семье. hyperkit объявлен устаревшим и
отключён в brew с 2025-06-21, VirtualBox на darwin/arm64 не поддерживается.
Готовое окружение целиком. Docker Desktop, Rancher Desktop, OrbStack и colima ставят контейнерный рантайм и кластер одним пакетом, кластер включается галкой или флагом. Первые три идут с GUI, colima управляется из командной строки. Удобно, когда не хочется собирать окружение по кускам. Расплата: версию Kubernetes часто выбирает за тебя вендор, а multi-node почти везде отсутствует.
Отдельно стоит k3s. Это не обёртка, а полноценный дистрибутив Kubernetes одним бинарником, ставится прямо на хост и работает только на Linux. Для ноутбука с Linux и для учебного VPS вариант отличный, для macOS и Windows он просто недоступен.
Три инструмента, между которыми реально выбирают
Способов поднять Kubernetes локально много, но для учёбы спор идёт между тремя. Все три бесплатны, все умеют кластер из нескольких нод.
| Инструмент | Что запускает | Ingress сразу после старта |
|---|---|---|
| kind | ноды-контейнеры с обычным Kubernetes | да, силами cloud-provider-kind |
| k3d | ноды-контейнеры с k3s | да, Traefik |
| minikube | контейнер или виртуальная машина | нет, включается аддоном |
Версии, флаги и команды по каждому лежат в отдельных уроках трека, здесь они бы устарели раньше, чем ты дочитаешь.
Разница между ними меньше, чем кажется. kind ближе всех к обычному Kubernetes и быстрее остальных получает свежие версии. k3d поднимает кластер за секунды и приносит Traefik и хранилище сразу, но платит за это тем, что k3s немного отличается от ванильного Kubernetes. minikube старше и медленнее, зато умеет запускаться в виртуальной машине там, где контейнерный рантайм недоступен.
Отдельная история - готовые приложения, где Kubernetes уже внутри: Docker Desktop, Rancher Desktop, OrbStack, colima. Их разбирает отдельный урок, там же лицензии и ограничения. Если такое приложение у тебя уже стоит, кластер можно включить галкой и не ставить ничего нового.
Про Ingress в minikube стоит знать заранее. Аддон разворачивает
ingress-nginx, а репозиторий kubernetes/ingress-nginx архивирован
24 марта 2026 и переведён в read-only: релизов, багфиксов и патчей
безопасности больше не будет. На учебном кластере это терпимо, дальше
переносить не стоит. Подробности и чем заменять -
в уроке про аддоны.
Про лицензии в двух словах
Сами kind, k3d и minikube свободны без всяких условий, как и k3s, colima и Rancher Desktop. Для учёбы дома бесплатно вообще всё, включая Docker Desktop и OrbStack.
Вопрос возникает на рабочем ноутбуке: у Docker Desktop и OrbStack коммерческое использование платное, и пороги у них разные. Точные формулировки и цены разобраны в уроке про GUI-приложения.
Сколько ждать старта
Единственные измеренные цифры, которые есть у первоисточника, приходят из официального бенчмарка minikube time-to-k8s, версия v1.36.0:
| Инструмент | Время до готового кластера |
|---|---|
| k3d | 19.9 s |
| kind | 33.0 s |
| minikube | 50.8 s |
Замер сделан на linux/amd64. Для macOS и Windows опубликованных цифр нет, а там к каждому варианту добавляется своя виртуалка, так что переносить эти секунды на MacBook напрямую нельзя. Порядок величин всё же сохраняется: контейнерные ноды поднимаются быстрее виртуальных машин.
Что брать под свою ОС
macOS на Apple Silicon: kind. Свободен, даёт самую свежую версию Kubernetes из коробки, умеет multi-node, arm64-образы нод готовы. Сам по себе kind не рантайм, под ним должен работать Docker, Podman или nerdctl. Если Docker Desktop не подходит по лицензии, рантайм даст colima или Rancher Desktop, оба свободные.
Windows: kind поверх того, что установится. Сначала проверь требования. Docker Desktop хочет Windows 10 22H2 или 11 23H2+, редакцию Pro, Enterprise или Education, 8 GB RAM и WSL2. Rancher Desktop поддержку Windows 10 не заявляет вовсе. Если Docker Desktop не проходит по лицензии, рабочий путь - Podman Desktop плюс kind CLI, только Podman на Windows обязательно переводят в rootful-режим.
Отдельно про WSL2: там нет модуля xt_recent, из-за чего
sessionAffinity: ClientIP не работает и ломает Service, созданные после.
Наткнуться на это легко, а причина неочевидная.
Linux: kind или k3d для одноразовых кластеров, k3s для долгого.
Доступно всё, ставить виртуалку не нужно. Если кластер живёт неделями и
должен вести себя как настоящий сервер, k3s ставится одной командой и
подключает второй хост через K3S_URL и K3S_TOKEN.
Версия кластера должна быть близка к проду
Локальный кластер имеет смысл, когда воспроизводит то, что у тебя в проде. Если прод на 1.35, а ты учишься на 1.37, часть API-полей и поведения будет отличаться, и отладка дома перестанет предсказывать отладку на работе.
В поддержке одновременно три минорные ветки:
| Версия | Патч | EOL |
|---|---|---|
| 1.37 | v1.37.0 | 2027-10-28 |
| 1.36 | v1.36.4 | 2027-06-28 |
| 1.35 | v1.35.8 | 2027-02-28 |
Ветка 1.34 из поддержки уже выпала, последний патч v1.34.11 вышел 2026-08-20. Окно патчей примерно 12 месяцев.
Версию почти везде можно задать явно:
kind create cluster --name lab --image kindest/node:v1.35.8
k3d cluster create lab --image rancher/k3s:v1.36.4-k3s1
minikube start --kubernetes-version=v1.34.0 --driver=docker
colima start --kubernetes --kubernetes-version v1.35.0+k3s1
rdctl start --kubernetes-version 1.36.4
У Rancher Desktop есть отдельная тонкость: апгрейд версии workloads сохраняет, а даунгрейд их удаляет. У OrbStack версия жёстко привязана к версии приложения и не выбирается вообще.
Ещё одна ловушка сидит в документации minikube. Сайт собирается из ветки master и пишет «v1.37.0», а в релизном бинаре v1.38.1 дефолтная версия Kubernetes — v1.35.1, диапазон v1.28.0…v1.35.1. Проверять надо бинарь, а не сайт.
Отдельно от версии кластера живёт версия клиента. Политика version skew
разрешает kubectl отличаться от apiserver не больше чем на одну
минорную версию в любую сторону. При кластере 1.37 годятся клиенты
1.36, 1.37 и 1.38. Для остальных компонентов правила свои: kubelet может
отставать от apiserver на три минорные версии, controller-manager и
scheduler на одну, и никто из них не может быть новее apiserver.
Про kubectl, kubeconfig и переключение между кластерами — в следующем уроке.
Коротко
- Локальные кластеры делятся на три семьи: ноды-контейнеры (kind, k3d),
ноды-VM (minikube с
kvm2,vfkit,hyperv) и готовые окружения (Docker Desktop, Rancher Desktop, OrbStack, colima). k3s стоит особняком и работает только на Linux. - Платные при коммерческом использовании только два: Docker Desktop (от 250 сотрудников или $10M выручки) и OrbStack ($8/мес, порог $10 000 дохода в год). kind, k3d, minikube, k3s, Rancher Desktop и colima свободны.
- Бенчмарк minikube time-to-k8s v1.36.0 на linux/amd64: k3d 19.9 s, kind 33.0 s, minikube 50.8 s. Для macOS и Windows цифр нет.
- macOS ARM: kind поверх свободного рантайма, OrbStack если критична прямая доступность Service с хоста. Windows: сначала проверь редакцию и версию системы, свободный путь — Podman Desktop плюс kind. Linux: kind или k3d для одноразовых кластеров, k3s для постоянного.
- Поддерживаются ветки 1.37, 1.36 и 1.35. Держи локальную версию рядом с
продовой, а
kubectl— в пределах одной минорной версии от apiserver.
Прошли материал до конца? Отметьте урок пройденным.
Прогресс сохранён в этом браузере
Почистишь историю или откроешь с телефона, и отметки пропадут. Оставь почту, они переедут в аккаунт. Пароль придумывать не нужно.
Готово. теперь в аккаунте: прогресс виден с любого устройства. Мой прогресс