Локальный кластер: minikube и kind
Чтобы тренироваться, не нужен дата-центр — кластер поднимается на ноутбуке за пару минут.
minikube и kind — инструменты, которые поднимают полноценный (но одноузловой) кластер Kubernetes локально для обучения и разработки.
Для практики нам нужен живой кластер. Облачный заводить дорого и долго, поэтому используем локальный. Два популярных варианта: minikube (запускает кластер в виртуалке или контейнере) и kind — Kubernetes IN Docker (узлы кластера сами являются Docker-контейнерами, поэтому он легче и быстрее).
Что понадобится
- kubectl — клиент командной строки для общения с любым кластером.
- Docker — он у вас уже есть; на нём работает kind и драйвер docker у minikube.
- minikube или kind — на выбор.
Вариант minikube
Запуск кластера одной командой:
minikube start --driver=dockerminikube скачает образы и поднимет одноузловой кластер. После старта он автоматически настроит kubectl на работу с ним.
Вариант kind
kind создаёт кластер ещё быстрее, прямо в Docker-контейнерах:
kind create cluster --name learningКоманда поднимет один узел-контейнер и пропишет доступ к нему в конфиг kubectl.
Проверяем, что кластер жив
Спросим у кластера список узлов:
kubectl get nodesВывод:
NAME STATUS ROLES AGE VERSION minikube Ready control-plane 40s v1.30.0
Статус Ready означает, что узел готов принимать поды. На локальном кластере один узел совмещает роли control plane и worker.
Посмотрим состояние самого control plane:
kubectl cluster-infoВывод:
Kubernetes control plane is running at https://127.0.0.1:6443 CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Как убрать кластер
Когда наигрались, кластер легко удалить, освободив ресурсы:
minikube delete
# или для kind:
kind delete cluster --name learning| Инструмент | Где запускает узлы | Особенность |
| minikube | VM или Docker | много встроенных аддонов (ingress, dashboard) |
| kind | Docker-контейнеры | очень быстрый, удобен для CI и мульти-узловых кластеров |
Итог
- minikube и kind поднимают локальный кластер для практики.
- kubectl — единый клиент для любого кластера, локального или облачного.
kubectl get nodesсо статусом Ready подтверждает, что кластер работает.