Установка Minikube на Windows
Мы будем использовать VirtualBox в качестве гипервизора для создания виртуальной машины Minikube. Убедитесь, что Hyper-V отключен во время работы VirtualBox.
Обратите внимание, что поддержка Windows в настоящее время находится на этапе эксперимента, и во время установки могут возникнуть проблемы.
- Ниже приведены инструкции по установке Minikube в Windows 10:
- Установите последнюю версию VirtualBox
- Перейти на страницу Minikube
- Загрузите исполняемый файл Minikubeиз раздела Distribution
- Переместите загруженный исполняемый файл Minikube в ваш PATH, с которым будете работать
- Установите драйвер VM по умолчанию для Minikube
Запустите Powershell с помощью параметра «Запуск от имени администратора» и выполните следующую команду:
> C:\Windows\system32> minikube config set vm-driver virtualbox
These changes will take effect upon a minikube delete and then a minikube start
Запуск Minikube
Мы можем запустить Minikube, используя команду minikube start. Откройте Powershell с помощью параметра «Запуск от имени администратора» и выполните следующую команду:
> C:\WINDOWS\system32> minikube start
Starting local Kubernetes v1.9.0 cluster.
Starting VM.
Getting VM IP address
Moving files into cluster.
Downloading localkube binary
162.41 MB / 162.41 MB [============================================] 100.00% 0s
0 B / 65 B [----------------------------------------------------------] 0.00%
65 B / 65 B [======================================================] 100.00% 0s
Setting up certs.
Connecting to cluster.
Setting up kubeconfig.
Starting cluster components.
Kubectl is now configured to use the cluster.
Loading cached images from config file.
Проверка статуса
Мы можем посмотреть статус работы Minikube, используя команду minikube status. Откройте Powershell с помощью параметра «Запуск от имени администратора» и выполните следующую команду:
> C:\WINDOWS\system32> minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Остановка работы Minikube
Мы можем остановить Minikube, используя команду minikube stop. Откройте Powershell с помощью параметра «Запуск от имени администратора» и выполните следующую команду:
> C:\WINDOWS\system32> minikube stop
Stopping local Kubernetes cluster
Machine stopped.
Работа с контейнерами в Minikube

Про Kubernetes написано огромное количество статей. Установка, настройка, мониторинг и безопасность все эти аспекты рассматриваются достаточно подробно. При этом, отдельным пунктом идет создание и настройка контейнеров. И если для решения глобальных задач администрирования нужен Kubernetes уровня продакшен, то для работы с контейнерами промышленные мощности как правило не требуются, по крайней мере до этапа нагрузочного тестирования. Например, программисту нужно создать контейнер со своим приложением. Для этого ему будет вполне достаточно Minikube который позволит работать с контейнерами локально.
В этой статье мы рассмотрим использование minikube для работы с контейнерами. Поговорим о том, чем Minikube отличается от «большого» Kubernetes. Но начнем мы с процесса установки Minikube.
Куб на столе
Прежде всего рассмотрим процесс установки Minikube под Windows. Здесь стоит сразу отметить следующий момент: Kubernetes изначально был разработан для развертывания и использования в средах Linux. Однако значительное число пользователей (и не только разработчики приложений) используют ОС Windows в качестве своей рабочей среды. Некоторое время назад Microsoft представила WSL (Windows Subsystem for Linux) — подсистему Windows для Linux, попытавшись таким образом сделать грань между средами Windows и Linux менее заметной. Насколько им это удалось можно поспорить, но для работы Minikube нам потребуется установить и активировать функционал WSL.
Для этого необходимо запустить консоль Powershell с правами локального администратора и выполнить следующую команду:
В результате будет установлена и активирована WSL.
Приведенная выше команда работает только в том случае, если WSL вообще не установлен, если вы запустите wsl —install и увидите текст справки WSL, значит WSL у вас уже есть. В таком случае можно запустить wsl —list —online , чтобы просмотреть список доступных дистрибутивов, и запустите wsl —install -d для установки дистрибутива.
Узнать установленную версию WSL можно с помощью команды
Дистрибутивом, установленным в WSL по умолчанию является Ubuntu. Если вы хотите сменить дистрибутив, то необходимо воспользоваться сначала командой
wsl —list —online
Для поиска доступных дистрибутивов. Как видно, список небольшой но почти все основные дистрибутивы в нем присутствуют.

Установите нужный дистрибутив. И командой:
Заменить дистрибутив по-умолчанию на нужный.
Но вернемся к Minikube. Для его работы помимо WSL также требуется Docker Desktop for Windows.
Docker Desktop — это приложение для работы с контейнерами и микросервисами и совместного использования их. Он предоставляет простой графический интерфейс пользователя, который позволяет вам управлять вашими контейнерами, приложениями и изображениями непосредственно с вашего компьютера. Docker Desktop можно использовать как самостоятельно, так и в качестве дополнительного инструмента к CLI.
На этом шаге мы уже можем работать с контейнерами и в качестве проверки вы можете выполнить в консоли команду
docker run -d -p 80:80 docker/getting-started
И после успешной загрузки образа в окне Docker Desktop выбираем контейнер, далее Open terminal и попадаем в командную строку контейнера.

Как видно, все достаточно просто. Перейдем к установке непосредственно Minikube.
На сайте Kubernetes есть несколько вариантов установки куба под Винду, но самыми простыми можно назвать два варианта установки. Первый вариант — это установка с помощью установщика Windows, из файла minikube-installer.exe. Эта установка выполняется по принципу Next-Next.
Альтернативой является ручная установка. Для ручной установки Minikube в Windows, загрузите minikube-windows-amd64, переименуйте его в minikube.exe и добавьте его в директорию исполняемых файлов.
Чтобы убедиться в том, что гипервизор и Minikube были установлены корректно, выполните следующую команду, которая запускает локальный кластер Kubernetes:

В случае, если вам нужно использовать другой гипервизор, а не тот, с которым minikube пытается запуститься, используйте опцию —vm-driver с командой minikube start укажите имя установленного вами гипервизора в нижнем регистре .
minikube start —vm-driver=
Например, для запуска драйвера Docker необходимо указать:
minikube start —vm-driver=docker
После того, как команда minikube start отработала успешно, выполните команду для проверки состояния кластера:

Linux
В Линуксе установка Minikube не столь “интересна”. Проще всего, пожалуй, скачать пакет по прямой ссылке и выставив права на выполнение запустить.
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
Далее все достаточно просто. Запускаем кластер
И смотрим статусы:
Если ваш кластер запущен корректно, то в выводе команды minikube status должно быть что-то вроде этого:

Теперь, когда вы убедились, что Minikube работает с выбранным вами гипервизором, вы можете продолжить использовать Minikube или остановить кластер. Чтобы остановить кластер выполните команду ниже:
Отличия minikube
В случае, если вы используете Minikube для работы с контейнерами, которые затем пойдут в продакшен, то важно учесть некоторые моменты. Minikube запускает одноузловой кластер Kubernetes внутри виртуальной машины (например, Virtualbox) в локальной среде разработки.
Результатом установки Minikube является локальный кластер Kubernetes, который вы можете использовать вместе с клиентом kubectl. Minikube поддерживает наиболее типичные функции Kubernetes, такие как DNS, Dashboards, CNI, NodePorts, Config Maps и т.д. Кроме того, как уже упоминалось, в Minikube можно использовать несколько гипервизоров, таких как Virtualbox, KVM и т. д. Большой Kubernetes это серьезная система оркестрации, предназначенный для управления крупными контейнерными инфраструктурами со множеством библиотек. Minikube вряд ли вам позволит заменить Kubernetes в продакшене, так как он не обладает таким богатым набором инструментов как k8s. Поэтому рекомендуется использовать Minikube для локальной разработки и настройки контейнеров для последующей передачи в кластер Kubernetes.
Заключение
В этой статье мы рассмотрели процесс установки и базовой настройки Minikube для Windows и Linux. В следующих статьях мы углубимся в тему микросервисов и также рассмотрим настройку Volumes, Storages и StatefulSet.
Также хочу порекомендовать бесплатный вебинар, где мы комплексно рассмотрим основные векторы по обеспечению безопасности kubernetes кластера и подробно остановимся на каждом из них. Затронем тему безопасности docker-образов, безопасность в рантайме, network и application security.
Работа в Kubernetes с помощью Minikube
Что такое Minikube, для чего он нужен и чем отличается от Kubernetes.
Эта инструкция — часть курса «Первые шаги в Kubernetes».
Смотреть весь курс
Введение
В этом руководстве мы расскажем про Minikube. Вы узнаете, что это за инструмент, кому он может пригодиться, чем отличается от Kubernetes, и попробуете его на практике.
Что такое Minikube
Minikube — это упрощенная реализация полноценного Kubernetes-кластера. Обычно установка и настройка Kubernetes — непростое занятие, которым занимаются DevOps-инженеры. Но если вы только начинаете знакомиться с Kubernetes или разрабатываете приложения для развертывания в кластере, вам может пригодиться Minikube.
Minikube позволяет быстро развернуть простой кластер Kubernetes на своей локальной машине. Такой кластер хорошо подойдет для первого знакомства с Kubernetes или для локальной разработки приложений. Minikube позволяет легко включать или выключать возможности «большого» Kubernetes (вроде Ingress-контроллера или дашборда) с помощью аддонов. Но Minikube ни в коем случае нельзя рассматривать как полноценный Kubernetes, даже для простых инсталляций.
Установка Minikube
Установить Minikube намного проще, чем Kubernetes. Тем не менее есть несколько предварительных условий, которые должны соблюдаться. Мы рассмотрим установку Minikube на примере трех ОС: Linux, MacOS и Windows.
Шаг 1: проверка поддержки виртуализации
Для работы Minikube необходимо, чтобы ваш процессор поддерживал аппаратную виртуализацию. Большинство современных процессоров поддерживают ее, но лучше заранее убедиться, что все в порядке.
Linux
Выполните команду в терминале:
grep -E --color 'vmx|svm' /proc/cpuinfo
Если вывод команды не пустой и вы видите слова vmx или svm — значит все хорошо, можно продолжать.
MacOS
sysctl -a | grep -E --color 'machdep.cpu.features|VMX'
Если в выводе команды есть слово VMX, значит виртуализация поддерживается.
Windows
Выполните команду в cmd или PowerShell:
systeminfo
Если вы видите следующий вывод, значит, виртуализация поддерживается:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes Virtualization Enabled In Firmware: Yes Second Level Address Translation: Yes Data Execution Prevention Available: Yes
Шаг 2: установка kubectl
Есть несколько разных утилит, с помощью которых можно управлять Kuberntes-кластером: kubectl, Lens, Kubernetes Dashboard и другие. В этой статье мы будем пользоваться консольной утилитой kubectl, которую разрабатывает сообщество Kubernetes.
Установка утилиты отличается на разных ОС, но мы не будем подробно останавливаться на этом, а приведем ссылки на официальную документацию:
- установка kubectl в Linux,
- установка kubectl в Mac OS,
- установка kubectl в Windows.
Шаг 3: установка гипервизора
Minikube запускается в виртуальной машине, поэтому нам необходимо установить гипервизор. Гипервизор — это программа, которая позволяет на одном компьютере запускать несколько операционных систем и делить между ними системные ресурсы (процессор, память и т.п.). В зависимости от операционной системы можно использовать различные гипервизоры. Мы не будем подробно рассказывать про установку каждого отдельного гипервизора, а перечислим возможные варианты.
Linux
- VirtualBox. Пожалуй, самый простой в установке и настройке. Присутствует в репозиториях большинства дистрибутивов.
- KVM. Гипервизор, встроенный в ядро Linux. Более производительное решение, но и более сложное в установке/настройке.
- Docker / Podman. Это вариант запуска Minikube с помощью Docker или Podman, без установки гипервизора.
MacOS
- VirtualBox.
- HyperKit.
- VMware Fusion.
Windows
Для начала выполните команду в cmd или PowerShell:
systeminfo
Если в результатах есть строка A hypervisor has been detected, значит, у вас уже установлен гипервизор, и дополнительных действий не потребуется. Если же гипервизор не установлен, подойдет один из этих вариантов:
Шаг 4: Установка Minikube
Теперь все готово для того, чтобы установить сам Minikube.
Linux
Если репозиториях вашего дистрибутива есть Minikube — предпочтительней установить его с помощью пакетного менеджера. Например, в Archlinux это делается командой:
pacman -S minikube.
Если в репозитории нет этого пакета, тогда скачайте бинарный файл:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
Затем переместите файл в директорию, которая указана в вашей переменной $PATH, например, в /usr/local/bin.
MacOS
Если вы пользуетесь пакетным менеджером brew, то установить Minikube можно командой:
brew install minikube
Либо можно просто скачать бинарный файл:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd6 && chmod +x minikube
Windows
Скачайте последнюю версию установщика, запустите его и следуйте инструкциям.
Начало работы с Minikube
Minikube установлен и готов к работе. Давайте теперь посмотрим, как можно его запустить и пользоваться им.
Запуск Minikube
minikube start
Первый запуск может занять несколько минут, потому что Minikube скачивает образ Kubernetes, создает и настраивает кластер. Результат будет выглядеть примерно так (реальный вывод немного сокращен для удобочитаемости):
minikube v1.27.1 on Arch "rolling" Automatically selected the docker driver. Other choices: virtualbox, ssh Using Docker driver with root privileges Starting control plane node minikube in cluster minikube Pulling base image . Downloading Kubernetes v1.25.2 preload . > preloaded-images-k8s-v18-v1 . > gcr.io/k8s-minikube/kicbase . Creating docker container (CPUs=2, Memory=3900MB) . Preparing setup Kubernetes v1.25.2 on Docker 20.10.18 . ▪ Generating certificates and keys . ▪ Booting up control plane . ▪ Configuring RBAC rules . Verifying Kubernetes components. ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 Enabled addons: storage-provisioner, default-storageclass Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Обратите внимание на последнюю строчку. Minikube автоматически сгенерировал конфигурационный файл для утилиты kubectl, поэтому мы сможем сразу ее использовать, без дополнительных настроек.
Создание контейнера и просмотр его логов
Давайте создадим собственный под (контейнер) и проверим его логи. Мы не будем описывать деплойменты с помощью yaml-файлов, а воспользуемся командой kubectl. Для примера создадим простой сервис с nginx под капотом:
kubectl create deployment simple-nginx --image=nginx
Проверим список подов и убедимся, что nginx запущен:
kubectl get po
NAME READY STATUS RESTARTS AGE simple-nginx-8566465446-96gpz 1/1 Running 0 50s
Видим, что под запустился 50 секунд назад и находится в статусе Running. Теперь посмотрим его логи, для этого опять воспользуемся kubectl:
kubectl logs simple-nginx-8566465446-96gpz
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2022/10/28 13:37:58 [notice] 1#1: using the "epoll" event method 2022/10/28 13:37:58 [notice] 1#1: nginx/1.23.2 2022/10/28 13:37:58 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2022/10/28 13:37:58 [notice] 1#1: OS: Linux 5.15.76-1-lts 2022/10/28 13:37:58 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2022/10/28 13:37:58 [notice] 1#1: start worker processes
Использование аддонов
Аддоны — это приложения или сервисы, которые добавляют новые возможности Minikube. Среди них — установка и настройка дашборда или автоматического сбора метрик с контейнеров. Аддоны — это термины только миникуба, и они не имеют отношения к полноценному Kubernetes. В обычном кластере все это тоже можно сделать, но несколько иначе. Minikube специально многое упрощает, чтобы этими возможностями могли пользоваться все.
Для начала посмотрим список всех доступных аддонов:
minikube addons list
По столбцу Status можно определить, какие аддоны уже активированы. При начальной установке Minikube активирует некоторые аддоны, например, storage-provisioner и default-storageclass.
Давайте активируем два аддона: первый будет собирать метрики с контейнеров, а второй — дашборд для управления кластером через браузер:
minikube addons enable metrics-server minikube addons enable dashboard
Теперь введем команду:
minikube dashboard
В браузере откроется страница с дашбордом. С его помощью вы можете смотреть на состояние кластера, проверять логи, создавать или удалять сущности вроде подов, деплойментов и так далее. Можно сказать, это аналог консольной утилиты kubectl, но с графическим интерфейсом.

Остановка Minikube
Чтобы остановить minikube, скомандуйте:
minikube stop
При этом остановится кластер Kubernetes, но всего развернутые в нем приложения и настройки сохранятся. При следующем запуске minikube полностью восстановит свое состояние.
Заключение
Мы показали установку Minikube, рассмотрели основные возможности инструмента, научились активировать дополнительные функции с помощью аддонов, разворачивать собственные сервисы и проверять их состояние.
Установка и настройка kubectl
ML в Managed Kubernetes: для каких задач нужен кластер с GPU
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать 100 серверов в облаке за минуту? Работа с OpenStack клиентом
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Установка Minikube в Hyper-V на Windows Server
В этой статье мы покажем, как установить и запустить Minikube в Hyper-V на Windows Server 2019. Minicube это простая среда для создания одноузлового кластера Kubernetes. Он хорошо подходит для знакомства со средой Kubernetes, выполнения экспериментов и обучения сотрудников бабовому функционала k8s.
Особенности Minikube.
- Кроссплатформенность. Поддерживаются основные ОС (Linux, macOS и Windows);
- Вы можете развернуть Minicube в виртуальной машине, контейнере или на железе;
- Поддержка Docker;
- Доступны драйверов для популярных всех гипервизоров (VmWare, VirtualBox, Docker, KVM, Hyper-V);
- Поддерживаются последние версий Kubernetes;
- Доступен Docker API для быстрого развертывания образов;
- Возможно использование дополнений (addons);
- Встроенная поддержка Dashboard Kubernetes.
Для запуска Minikube необходимо, чтобы ваш компьютер или ВМ соответствовали следующим требованиям:
- Не менее 2 ГБ RAM;
- Не 2 CPU с поддержкой виртуализации (Intel VT или AMD-V), и SLAT;
- Не менее 20 Гб места на диске;
- Интернет подключение;
- Контейнер Docker или виртуальная машина на любом из поддерживаемых гипервизоре (VirtualBox, VMWare или Hyper-V).
В нашем примере мы будем использовать Hyper-V для запуска Minikube.
Создайте новый внешний виртуальный коммутатор, подключенный к сетевой карте с доступом в интернет:
Get-NetAdapter
New-VMSwitch -name ExternalSwitch -NetAdapterName «Ethernet 2» -AllowManagementOS $true
Если вы не создадите внешний виртуальный коммутатор, то при первом запуске Minikube выдаст ошибку:
! StartHost failed, but will try again: creating host: create: precreate: no External vswitch nor Default Switch found. A valid vswitch must be available for this command to run.
Для установки Minikube нужно воспользоваться менеджером пакетов. Для Windows 10 можно использовать winget (Windows Package Manager).
В нашем случае для Windows Server 2019 придется использовать Chocolatey. Откройте консоль PowerShell, скачайте и запустите установку менеджера пакетов Chocolatey:
iwr https://chocolatey.org/install.ps1 -outfile C:\install.ps1
c:\install.ps1
После установки Chocolatey можно установить пакет minikube:
choco install minikube

Установите дополнительные компоненты Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Попробуйте запустить кластер minikube:
В моем случае оказалось, что актуальная версия Minikube не работает c Hyper-V. Поэтому мне пришлось понизить версию minikube командой
choco install minikube —version 1.6.2 —allow-downgrade
Затем удалите текущий кластер и пересоздайте его
minikube delete
minikube start
Убедитесь, что виртуальная машина minikube запушена:

Проверьте, что kuber окружение запущено:
kubectl get po –A


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

Для вывода информации о кластере Kubernetes:
Список запущенных нод в кластере:
kubectl get nodes
Для запуска Docker-образа hello-minikube, выполните:
kubectl run hello-minikube —image=k8s.gcr.io/echoserver:1.4 —port=8080
kubectl expose deployment hello-minikube —type=NodePort —port=8080
kubectl get services hello-minikube

Для остановки кластера, выполните: