Linux

Установка Minikube на Linux: подробное руководство для Ubuntu/Debian

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

Обновлено 16 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 11+Fedora 35+Minikube v1.30+

Введение / Зачем это нужно

Minikube — это инструмент, который запускает локальный однокластерный кластер Kubernetes на вашей машине. Он идеально подходит для:

  • Обучения и разработки: Позволяет изучать Kubernetes без доступа к облаку и без затрат.
  • Тестирования манифестов: Вы можете безопасно проверять конфигурации Deployment, Service, Ingress перед деплоем в продакшен.
  • Локальной отладки: Запускать и отлаживать приложения в окружении, максимально приближенном к реальному Kubernetes.

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

Требования / Подготовка

Перед началом убедитесь, что ваша система соответствует следующим требованиям:

  1. ОС: Любой современный дистрибутив Linux (Ubuntu, Debian, Fedora, CentOS, Arch и т.д.).
  2. Виртуализация: Включенная поддержка виртуализации (Intel VT-x / AMD-V) в BIOS/UEFI. Проверить можно командой:
    grep -E --color '(vmx|svm)' /proc/cpuinfo
    
    Если вывод пуст, включите виртуализацию в настройках BIOS/UEFI.
  3. Ресурсы: Минимум 2 ГБ свободной RAM (рекомендуется 4+ ГБ) и 20 ГБ свободного дискового пространства.
  4. Доступ к интернету: Для загрузки образов и бинарников.
  5. Права: Пользователь должен иметь права на запуск sudo (для некоторых драйверов) и доступ к Docker-демону (если используете драйвер docker).

Установка обязательных компонентов

1. Установка Docker (рекомендуемый драйвер) Minikube может использовать Docker в качестве среды выполнения контейнеров. Установите Docker Engine:

# Для Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y docker.io

# Добавьте текущего пользователя в группу docker, чтобы не использовать sudo
sudo usermod -aG docker $USER
newgrp docker  # Применить изменения группы без перезагрузки

Примечание: Если вы предпочитаете Podman, установите его (sudo apt install podman) и используйте драйвер podman.

2. Установка kubectlkubectl — CLI-инструмент для управления Kubernetes. Установите его:

# Скачивание последней стабильной версии
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Установка
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# Проверка версии
kubectl version --client

3. Установка дополнительных утилит (опционально) В зависимости от выбранного драйвера могут понадобиться:

  • virtualbox: sudo apt install virtualbox
  • kvm2: sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils После установки добавьте пользователя в группы kvm и libvirt.

Пошаговая инструкция

Шаг 1: Скачивание и установка Minikube

Скачайте исполняемый файл Minikube, соответствующий вашей архитектуре (обычно amd64).

# Определение последней версии
MINIKUBE_VERSION=$(curl -L -s https://github.com/kubernetes/minikube/releases/latest | grep -oP '(?<=tag/v)[0-9.]+')

# Скачивание
curl -LO https://github.com/kubernetes/minikube/releases/download/v${MINIKUBE_VERSION}/minikube-linux-amd64

# Установка в системную директорию
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# Очистка временного файла
rm minikube-linux-amd64

# Проверка установки
minikube version

Шаг 2: Выбор и настройка драйвера

Minikube использует драйверы для создания виртуальной машины или контейнера. Лучший выбор для Linux — docker или podman, так как они не требуют дополнительной виртуализации и работают быстрее.

Проверьте, какой драйвер доступен по умолчанию:

minikube driver list

Для драйвера docker (рекомендуется): Убедитесь, что Docker демон запущен и ваш пользователь в группе docker (см. подготовку). Минимальная настройка не требуется.

Для драйвера kvm2 (альтернатива):

# Проверьте, запущен ли libvirtd
sudo systemctl status libvirtd

# Если нет, запустите и включите автозагрузку
sudo systemctl enable --now libvirtd

Вы можете явно указать драйвер при первом запуске minikube start --driver=docker. Чтобы установить драйвер глобально:

minikube config set driver docker

Шаг 3: Запуск кластера Minikube

Теперь запустите кластер. Базовый запуск с драйвером docker:

minikube start --driver=docker

Настройка ресурсов (важно для производительности): Рекомендуется явно задать объем памяти и количество CPU, особенно если у вас мало ресурсов или вы используете драйвер виртуализации (virtualbox, kvm2).

# Пример: 4 CPU, 8 ГБ RAM, образ Kubernetes v1.28.x
minikube start --driver=docker --cpus=4 --memory=8192 --kubernetes-version=v1.28.0

Аргументы командной строки:

  • --driver: Драйвер (docker, podman, virtualbox, kvm2, none).
  • --cpus: Количество виртуальных CPU.
  • --memory: Объем RAM в МБ (например, 4096 для 4 ГБ).
  • --disk-size: Размер диска (по умолчанию 20ГБ), например --disk-size=50g.
  • --kubernetes-version: Конкретная версия Kubernetes (по умолчанию последняя стабильная).

Процесс может занять 2-5 минут: Minikube скачивает образ ISO/образ Docker с Kubernetes, настраивает сеть и запускает компоненты кластера.

Шаг 4: Проверка работы кластера

После успешного завершения minikube start выполните:

# 1. Проверьте статус кластера
minikube status
# Ожидаемый вывод: host: Running, kubelet: Running, apiserver: Running, ...

# 2. Посмотрите ноды (должна быть одна - 'minikube')
kubectl get nodes
# NAME       STATUS   ROLES           AGE   VERSION
# minikube   Ready    control-plane   5m    v1.28.0

# 3. Проверьте системные поды (все должны быть в статусе Running)
kubectl get pods -A

Важно: kubectl автоматически настроен на работу с кластером Minikube благодаря скрипту-обёртке. Вы можете использовать minikube kubectl -- <command> для гарантии, но после minikube start контекст minikube уже активен.

Проверка результата

Кластер считается успешно установленным, если выполняются все три условия:

  1. minikube status показывает Running для всех компонентов.
  2. kubectl get nodes выводит ноду minikube со статусом Ready.
  3. kubectl cluster-info показывает адреса Kubernetes control plane и CoreDNS.

Вы можете также протестировать развертывание тестового приложения:

kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
minikube service hello-minikube  # Откроет сервис в браузере

Возможные проблемы

❌ Ошибка: Failed to start host: Creating host: creating kic cluster: create: context deadline exceeded

Причина: Docker-образ kicbase не загрузился из-за проблем с сетью или нехватки дискового пространства. Решение:

  1. Проверьте свободное место (df -h).
  2. Очистите неиспользуемые Docker-образы: docker system prune -a.
  3. Принудительно перезапустите с очисткой кэша: minikube delete && minikube start --driver=docker --force.

❌ Ошибка: This computer doesn't have VT-x/AMD-v virtualization enabled

Причина: Виртуализация отключена в BIOS/UEFI. Решение: Перезагрузите компьютер, войдите в BIOS/UEFI (клавиша Del/F2/F10) и включите опции Intel VT-x или AMD-V. Сохраните настройки и перезагрузитесь.

❌ Ошибка: Exiting due to DRV_NOT_FOUND: The specified driver "docker" is not installed

Причина: Драйвер docker не найден (Docker не установлен или не запущен). Решение: Установите Docker и убедитесь, что демон работает (sudo systemctl start docker). Проверьте, что ваш пользователь в группе docker (groups $USER).

❌ Ошибка: Failed to configure pod network: network plugin cni failed to set up...

Причина: Конфликт CNI-плагинов или блокировка фаервола. Решение:

  1. Удалите кластер: minikube delete.
  2. Временно отключите фаервол (sudo ufw disable или sudo systemctl stop firewalld) и попробуйте снова.
  3. Используйте другой CIDR для сети подов: minikube start --pod-cidr=10.244.0.0/16.

❌ Ошибка: Error: EACCES: permission denied, access '/var/run/docker.sock'

Причина: Текущий пользователь не имеет прав на доступ к Docker-сокету. Решение: Добавьте пользователя в группу docker (sudo usermod -aG docker $USER) и перелогиньтесь или выполните newgrp docker.

❌ Проблема: Minikube завершает работу после перезагрузки хоста

Причина: Minikube не настроен на автозапуск (по умолчанию так и есть). Решение: Это ожидаемое поведение. Minikube — инструмент для разработки. Для постоянного кластера используйте полноценное развертывание Kubernetes. Чтобы быстро вернуть кластер, выполните minikube start.


Дополнительные команды и управление

  • Остановка кластера (сохранение состояния): minikube stop
  • Удаление кластера (полная очистка): minikube delete
  • Включение/отключение дополнений ( ingress, dashboard, metrics-server):
    minikube addons enable ingress
    minikube addons disable ingress
    
  • Доступ к консоли ноды (например, для отладки Docker): minikube ssh
  • Получение конфигурации kubectl для другого контекста: minikube kubectl -- <kubectl command> или экспорт: kubectl config use-context minikube.

Заключение

Вы успешно установили и запустили локальный кластер Kubernetes с помощью Minikube на Linux. Теперь вы можете:

  • Изучать kubectl команды.
  • Развертывать манифесты в формате YAML.
  • Тестировать Helm-чарты.
  • Пробовать различные сетевые политики и ингрессы.

Для продолжения обучения изучите официальную документацию Kubernetes или попробуйте развернуть простое приложение, например, Nginx, следуя нашему гайду по базовым Deployment и Service.

Что дальше? Узнайте, как управлять конфигурацией кластера через kubectl в нашем гайде Конфигурирование контекстов kubectl для нескольких кластеров.

Часто задаваемые вопросы

Какая минимальная сумма RAM нужна для Minikube?
Почему Minikube не запускается с ошибкой 'This computer doesn't have VT-x/AMD-v virtualization enabled'?
Можно ли использовать Minikube без Docker, например, с Podman?
Как удалить Minikube и все связанные данные?

Полезное

Установка зависимостей: Docker, kubectl, инструменты
Загрузка и установка бинарного файла Minikube
Выбор и настройка драйвера виртуализации
Запуск кластера Minikube
Проверка статуса и получение доступа

Эта статья помогла вам решить проблему?