Minikube, инструмент для запуска одноузлового кластера Kubernetes на виртуальной машине в персональном компьютере.
Нужно, чтоб была включена поддержка виртуализации.
Minikube может работать используя docker, virtualbox, hyper-v. Но в docker пока не работает ingress. Соответственно, для работы с minikube что то из этого должно быть установлено.
Для работы нужно установить сам minikube и kubectl для управления кластером.
Minikube нельзя установить внутри виртуальной машины.
Установка на windows 10
Установить virtualbox или docker, так как minikube работает на виртуальной машине или в контейнере docker. При запуске автоматически создается виртуальная машина или контейнер.
зайти в свойства системы, нажать Переменные среды, найти переменную PATH, нажать Изменить и добавить путь, в котором будет содержатся kubectl. Или вместо добавления в PATH, можно сделать алиас командой
Set-Alias -Name kubectl -Value C:\Kubectl\kubectl
Скачать kubectl и положить в папку добавленную в предыдущем пункте.
minikube kubectl --например
minikube kubectl -- get nodesчтобы не вводить команду целиком - можно сделать алиас командой
Set-Alias -Name kubectl -Value minikube kubectl --
kubectl version --client
choco install minikube
Если нужен Helm, его можно скачать по ссылке.
Установка в Ubuntu
Чтобы установить minikube в linux нужно сначала установить или virtualbox или docker.
добавление ключа репозитория
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpgдобавление репозитория
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listустановка kubectl
apt update apt install kubectl
скачивание файла kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlдобавление разрешения на выполнение
chmod +x ./kubectlперенос в каталог из переменной PATH
mv ./kubectl /usr/local/bin/kubectl
скачивание файла minikube
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O /usr/bin/minikubeдобавление разрешения на выполнение
chmod +x /usr/bin/minikube
Запуск minikube
При запуске minikube в папке пользователя создается папка .kube в которой находится файл config, в нем описана конфигурация кластера с которым работает minikube. Образ minikube скачивается в папку пользователя в .minikube\cache\iso.
minikube start --driver=virtualboxили
minikube start --driver=dockerв зависимости от того, на чем будет работать minikube. При запуске с использованием virtualbox лучше отключить docker, если он есть, так как могут возникнуть ошибки.
minikube start --driver=virtualbox --no-vtx-check
minikube start --driver=virtualbox --cpus=4 --memory=8gb --disk-size=25gbПо умолчанию выделяется 2 ядра, 2 ГБ оперативной памяти.
minikube statusпроверить работоспособность компонентов
kubectl get componentstatusesпосмотреть информацию о кластере
kubectl cluster-infoпосмотреть из каких нод состоит кластер
kubectl get nodes
minikube stopпри этом виртуальная машина не удаляется и то, что в ней было создано сохраняется.
minikube stopпри этом виртуальная машина не удаляется и то, что в ней было создано сохраняется.
minikube delete
minikube delete --purge=true --all=trueпри повторном запуске minikube после этой команды будет заново скачан образ и созданы все необходимые файлы.
в windows нужно выполнить команду
& minikube -p minikube docker-env --shell powershell | Invoke-Expressionв linux команду
eval $(minikube docker-env)после нее любая команда docker, запущенная в текущем терминале, будет работать внутри кластера minikube. А команда docker build соберет образ внутри minikube.
Команды minikube
- minikube start --driver=virtualbox запуск minikube с созданием виртуальной машины на virtualbox
- minikube start --driver=docker запуск minikube с созданием контейнера в docker
- minikube start --driver=virtualbox --no-vtx-check позволяет запустить minikube если появляется ошибка "Exiting due to HOST_VIRT_UNAVAILABLE: Failed to start host: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory" при включенной виртуализации
- minikube status проверка статуса minikube
- minikube stop остановка minikube
- minikube delete удаление minikube
- minikube delete --purge=true --all=true полное удаление
- minikube logs логи minikube
- minikube addons list список доступных для подключения дополнений
- minikube addons enable ingress подключение дополнения ingress
- minikube tunnel открытие туннеля для доступа к службам типа LoadBalancer
- minikube profile list вывод списка всех профилей (кластеров) minikube
- minikube dashboard открытие web-страницы управления кластером kubernetes
- minikube service my-service переход к сервису по адресу
- minikube service my-service --url получить адрес для подключения к сервису
- minikube ip получение ip-адреса кластера