hostprofi.ru
Подобрать хостинг
Термин·буква M

Minikube

краткое определение

Minikube — инструмент для запуска однонодного кластера Kubernetes локально на рабочей машине. Позволяет разрабатывать и тестировать приложения для Kubernetes без облачной инфраструктуры. Поддерживает виртуализацию через VirtualBox, Docker, HyperKit и другие.

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

ИнструментBackendMulti-nodeНазначение
MinikubeVM/Dockerда (с v1.10)локальная разработка
kindDockerда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.

Другие термины