В этой статье мы покажем, как установить и запустить Minikube в Hyper-V на Windows Server 2019. Minicube это простая среда для создания одноузлового кластера Kubernetes. Он хорошо подходит для знакомства со средой Kubernetes, выполнения экспериментов и обучения сотрудников бабовому функционала k8s.
- Кроссплатформенность. Поддерживаются основные ОС (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
! 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 start
В моем случае оказалось, что актуальная версия Minikube не работает c Hyper-V. Поэтому мне пришлось понизить версию minikube командой
choco install minikube --version 1.6.2 --allow-downgrade
Затем удалите текущий кластер и пересоздайте его
minikube delete
minikube start
Убедитесь, что виртуальная машина minikube запушена:
Get-Vm
Проверьте, что kuber окружение запущено:
kubectl get po –A
Запустите веб-дашборд:
minikube dashboard
Откройте указанную ссылку в браузере и проверьте, что вы можете подключиться к дашборду Kubernetes.
Для вывода информации о кластере Kubernetes:
kubectl cluster-info
Список запущенных нод в кластере:
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
Для остановки кластера, выполните:
minikube stop