Linux

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

Это руководство поможет вам установить и запустить Minikube — инструмент для локального запуска Kubernetes — на системах на базе Ubuntu/Debian. Вы получите работающий однокластерный Kubernetes-окружение для тестирования и разработки.

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

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

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

  • Обучиться основам Kubernetes без доступа к облачному кластеру.
  • Разрабатывать и тестировать манифесты (Deployment, Service, и т.д.) локально.
  • Пробовать новые версии Kubernetes или его компонентов.

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

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

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

  1. ОС: Ubuntu 22.04+, Debian 11+ или любая другая современная дистрибутив на базе systemd.
  2. Права: Доступ к sudo для установки пакетов и управления службами.
  3. Ресурсы:
    • RAM: минимум 2 ГБ, рекомендуется 4 ГБ.
    • CPU: минимум 2 ядра.
    • Дисковое пространство: минимум 20 ГБ свободного места.
  4. Драйвер виртуализации: Мы будем использовать Docker как драйвер, так как это самый простой путь на Linux. У вас должен быть установлен и запущен Docker.

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

Шаг 1: Установка и запуск Docker

Minikube требует наличия работающего контейнерного рантайма. Docker — наиболее стойкий выбор.

# Обновляем кэш пакетов
sudo apt-get update

# Устанавливаем необходимые пакеты для работы с HTTPS-репозиториями
sudo apt-get install -y ca-certificates curl gnupg

# Добавляем официальный GPG-ключ Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Добавляем репозиторий Docker (для Ubuntu, для Debian замените на соответствующий)
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Устанавливаем Docker Engine и компоненты
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

# Запускаем и включаем автозагрузку службы Docker
sudo systemctl start docker
sudo systemctl enable docker

# Проверяем, что Docker работает
docker run hello-world

Если команда docker run hello-world завершилась с выводом "Hello from Docker!", драйвер готов.

Шаг 2: Установка Minikube

Скачаем последнюю стабильную версию Minikube с официального репозитория GitHub.

# Определяем последнюю версию (на момент написания — v1.33.1)
MINIKUBE_VERSION="v1.33.1"
# Скачиваем бинарный файл
curl -LO https://storage.googleapis.com/minikube/releases/${MINIKUBE_VERSION}/minikube-linux-amd64

# Устанавливаем в /usr/local/bin
sudo install minikube-linux-amd64 /usr/local/bin/minikube

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

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

Теперь можно создать и запустить кластер. Мы явно укажем драйвер docker и выделим 4 ГБ оперативной памяти.

# Останавливаем предыдущий кластер, если он есть (необязательно)
minikube stop

# Запускаем новый кластер с параметрами:
# --driver=docker: использовать Docker как драйвер виртуализации
# --memory='4g': выделить 4 ГБ RAM
# --cpus=2: выделить 2 CPU ядра
minikube start --driver=docker --memory='4g' --cpus=2

⚠️ Важно: Первый запуск может занять 5-10 минут, так как Minikube будет скачивать образ Kubernetes (k8s.gcr.io/kube-apiserver и др.) размером несколько сотен мегабайт.

После успешного завершения вы увидите сообщение Done! kubectl is now configured to use "minikube" cluster....

Шаг 4: Проверка работоспособности и настройка kubectl

Убедимся, что кластер запущен и доступен через kubectl.

# Показать статус кластера
minikube status

# Должен быть вывод, где все компоненты в состоянии Running.
# Пример:
# host: Running
# kubelet: Running
# apiserver: Running
# kubeconfig: Configured

# Проверим доступность кластера через kubectl
kubectl cluster-info

# Получим список нод (в Minikube она всегда одна)
kubectl get nodes

# Пробный деплой: создадим nginx-под
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --type=NodePort --port=80

# Проверим, что под работает
kubectl get pods,svc

# Получим URL для доступа к nginx в браузере
minikube service nginx

Шаг 5: Полезные команды и настройка

  • Остановка кластера (сохраняет состояние):
    minikube stop
    
  • Удаление кластера (полная очистка):
    minikube delete
    
  • Доступ к консоли ноды (как к виртуальной машине):
    minikube ssh
    
  • Установка драйвера по умолчанию (чтобы не указывать --driver каждый раз):
    minikube config set driver docker
    
  • Обновление Minikube:
    minikube update
    

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

Выполните следующие команды. Если все они возвращают успешный результат (Running, список объектов), установка прошла корректно:

  1. minikube status — все компоненты Running.
  2. kubectl get nodes — нода в статусе Ready.
  3. kubectl get pods -A — системные поды (coredns, etcd, kube-apiserver и др.) в статусе Running.
  4. minikube service list — сервисы, созданные вами, отображаются.

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

Проблема: minikube start завершается с ошибкой Failed to start host: ...

Причина и решение:

  • Недостаточно памяти/CPU. Увеличьте параметры --memory и --cpus. Например, --memory=6g --cpus=3.
  • Порт 8443 занят (используется другим процессом или другим Minikube-кластером). Остановите конфликтующий процесс или удалите старый кластер (minikube delete).
  • Docker не работает. Проверьте systemctl status docker. Если служба не активна, запустите её.

Проблема: kubectl не найден или kubectl: command not found

Причина и решение: Установите kubectl отдельно.

# Установка kubectl (актуальная версия)
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

Проблема: Ошибки вида Error: failed to pull image ... или ImagePullBackOff

Причина и решение: Minikube/Docker не может скачать образ из k8s.gcr.io. Чаще всего это проблема с сетью или DNS. Проверьте доступ в интернет с машины. Можно попробовать использовать другой реестр (например, registry.k8s.io) или настроить прокси для Docker.

Проблема: minikube ssh не работает или зависает

Причина и решение: Проблема с драйвером. Убедитесь, что Docker-контейнер с кластером существует: docker ps | grep minikube. Если контейнер не запущен, попробуйте minikube start --alsologtostderr для подробного лога и minikube delete с последующим чистым запуском.

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

Сколько RAM нужно для Minikube?
Можно ли использовать Minikube без Docker?
Почему Minikube не запускается после установки?
Minikube подходит для продакшена?

Полезное

Установите Docker
Скачайте и установите Minikube
Запустите Minikube кластер
Проверьте статус и настройте kubectl
Дополнительная настройка (опционально)