Minikube создаёт локальный Kubernetes-кластер на ноутбуке или рабочей станции. Поднимает одну ноду, содержащую все компоненты Kubernetes: API server, etcd, scheduler, kubelet, kube-proxy. Подходит для обучения Kubernetes, разработки и тестирования перед деплоем в production-кластер.
Установка и запуск
# Установка на Linux
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/
# Запуск кластера
minikube start
# Запуск с конкретным драйвером
minikube start --driver=docker
minikube start --driver=virtualbox
# Статус
minikube status
# Dashboard в браузере
minikube dashboard
# Остановить/удалить
minikube stop
minikube delete
kubectl с Minikube
Minikube автоматически настраивает kubectl (если установлен) для работы с локальным кластером. Альтернативно можно использовать встроенный kubectl:
minikube kubectl -- get pods
minikube kubectl -- apply -f deployment.yaml
Addons
Minikube поддерживает расширения для эмуляции production-фич:
minikube addons list
minikube addons enable ingress # Nginx Ingress Controller
minikube addons enable metrics-server
minikube addons enable dashboard
Доступ к сервисам
# Получить URL сервиса
minikube service my-service --url
# Туннель для LoadBalancer
minikube tunnel
История
Minikube создан командой Kubernetes в Google в 2016 году. Первый релиз — июль 2016. Изначально требовал VirtualBox. В 2019 году добавлена поддержка Docker-драйвера. В 2021 году Minikube вошёл в состав CNCF (Cloud Native Computing Foundation). Kind (Kubernetes IN Docker) — альтернатива Minikube, использующая Docker-контейнеры как ноды кластера.
Связь с хостингом
Minikube используется разработчиками для локальной отладки приложений перед деплоем на Kubernetes-кластер в облаке или на VDS. Локальная среда максимально приближена к production: те же манифесты YAML, те же объекты Deployment/Service/Ingress. Переход с Minikube на managed Kubernetes (EKS, GKE, AKS) — замена контекста kubectl без изменения кода.
История Minikube
Minikube создан командой Google как инструмент локальной разработки для Kubernetes в 2016 году. Первый коммит — май 2016. Версия 1.0 вышла в 2019 году. Поддерживает множество drivers: VirtualBox, HyperKit, Docker, Podman, KVM2. Minikube входит в состав kubernetes-sigs (Special Interest Groups). К 2023 году скачан более 10 миллионов раз. Альтернативы: kind (Kubernetes in Docker), k3d, MicroK8s, Rancher Desktop.
Minikube vs kind vs k3s
| Инструмент | Backend | Multi-node | Назначение |
|---|---|---|---|
| Minikube | VM/Docker | да (с v1.10) | локальная разработка |
| kind | Docker | да | CI/CD тестирование |
| k3s | нативный | да | edge, IoT, VPS |
| MicroK8s | нативный | да | Ubuntu-кластеры |
Практическое применение
Minikube запускается командой minikube start --driver=docker и разворачивает полноценный Kubernetes кластер на локальной машине. Встроенные аддоны: Ingress, Dashboard, Registry, Metrics Server. Для тестирования перед деплоем на VPS используют minikube tunnel для эмуляции LoadBalancer. Образы можно загружать напрямую: minikube image load myapp:latest.
Типичные ошибки
- Minikube для продакшна — только для разработки и обучения.
- Недостаточно ресурсов: минимум 2 CPU и 2 GB RAM, рекомендуется 4 CPU / 8 GB.
- Забытый запущенный Minikube потребляет значительные ресурсы:
minikube stopпосле работы.
Minikube поддерживает несколько container runtime: containerd (рекомендован с K8s 1.24+), CRI-O, Docker. Для быстрого обучения работе с Kubernetes достаточно minikube start. Команда minikube addons enable ingress устанавливает Nginx Ingress Controller.