Установка Minikube
Mar 26, 2018 08:15 · 444 words · 3 minute read
Minikube
- утилита командной строки для настройки и запуска однонодового кластера Kubernetes
в виртуальной машине на локальном компьютере.
Данный вариант просто идеально подходит для первого знакомства с кластером под управлением Kubernetes
и выполнения несложных лабораторных работ.
Прежде чем приступить к установке Minikube
, нужно убедиться, что в системе поддерживается виртуализация VT-x/AMD-v. В Linux сделать это можно так (результат выполнения команды не должен быть пустым):
cat /proc/cpuinfo | grep 'vmx\|svm'
Для Mac OS X можно воспользоваться такой командой:
sysctl -a | grep machdep.cpu.features | grep VMX
Примечание. Если вы используете Docker for Mac версии 17.12 и новее, достаточно просто переключиться на Edge channel (нестабильная, экспериментальная ветка) и вы уже получите Kubernetes
(подробности).
Нам понадобятся следующие компоненты:
- VirtualBox
minikube
kubectl
С VirtualBox не должно возникнуть никаких вопросов - на официальном сайте скачиваем установщик и следуем указаниям мастера установки.
Для установки Minikube
достаточно перейти на страницу с последним релизом (на момент написания статьи v0.25.0) и выполнить предложенные инструкции. Например, для Linux:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.0/minikube-linux-amd64 \
&& chmod +x minikube \
&& sudo mv minikube /usr/local/bin/
или для Mac OS X:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.0/minikube-darwin-amd64 \
&& chmod +x minikube \
&& sudo mv minikube /usr/local/bin/
Далее переходим к установке kubectl
- утилиты командной строки для управления приложениями, развернутыми в кластере. Здесь может быть несколько вариантов, например, установка с помощью curl
:
- Linux
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 \
&& sudo mv ./kubectl /usr/local/bin/kubectl
- Mac OS X:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl \
&& chmod +x ./kubectl \
&& sudo mv ./kubectl /usr/local/bin/kubectl
Второй вариант - установка kubectl
как часть Google Cloud SDK (считаем, что SDK уже установлен):
gcloud components install kubectl
Также можно установить kubectl
используя специфический менеджер пакетов, для Linux:
sudo snap install kubectl --classic
Mac OS X:
brew install kubectl
Чтобы проверить корректность установки kubectl
, не забудьте запустить команду:
kubectl version
Теперь можем приступать к работе с minikube
:
minikube start
Starting local Kubernetes cluster...
Running pre-create checks...
Creating machine...
Starting local Kubernetes cluster...
Запуск пода из docker-образа hello-minikube, предназначенного для демонстрации:
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
deployment "hello-minikube" created
Смотрим запущенные поды в кластере (под запускается):
kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-minikube-3383150820-vctvh 0/1 ContainerCreating 0 3s
Проверяем еще раз через несколько секунд:
kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-minikube-3383150820-vctvh 1/1 Running 0 13s
Для организация доступа к поду hello-minikube извне запустим команду:
kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
Проверим работу пода с помощью утилиты curl
из командной строки:
curl $(minikube service hello-minikube --url)
CLIENT VALUES:
client_address=192.168.99.1
command=GET
real path=/
...
Убираем за собой - удаляем deployment и останавливаем minikube
:
kubectl delete deployment hello-minikube
deployment "hello-minikube" deleted
minikube stop
Stopping local Kubernetes cluster...
Stopping "minikube"...