Minikube – утилита для запуска Kubernetes кластера на локальной машине.
Может использовать Virtualbox, VMWare, Hyper-V гипервизоры, на которых запускает виртуальную машину, в которой создаётся кластер Kubernetes.
В Arch Linux – устанавливаем из AUR:
[simterm]
$ yaourt -S minikube
[/simterm]
Если Virtualbox не установлен – устанавливаем:
[simterm]
$ sudo pacman -S virtualbox
[/simterm]
minikube
работает с Kubernetes через kubectl
– устанавливаем:
[simterm]
$ curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
[/simterm]
Проверяем.
Стартуем сам Minikube:
[simterm]
$ minikube start Starting local Kubernetes cluster... Starting VM... Downloading Minikube ISO 89.51 MB / 89.51 MB [==============================================] 100.00% 0s SSH-ing files into VM... Setting up certs... Starting cluster components... Connecting to cluster... Setting up kubeconfig... Kubectl is now configured to use the cluster.
[/simterm]
Проверяем виртуальные машины в Virtualbox:
[simterm]
$ VBoxManage list runningvms "minikube" {36011ac8-3154-4292-b6c1-199127843c52}
[/simterm]
Создаём под:
[simterm]
$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080 deployment "hello-minikube" created
[/simterm]
Запускаем сервис:
[simterm]
$ kubectl expose deployment hello-minikube --type=NodePort service "hello-minikube" exposed
[/simterm]
Проверяем поды:
[simterm]
$ kubectl get pod NAME READY STATUS RESTARTS AGE hello-minikube-938614450-6rmrp 1/1 Running 0 1m
[/simterm]
Проверяем сервис:
[simterm]
$ curl $(minikube service hello-minikube --url) CLIENT VALUES: client_address=172.17.0.1 command=GET real path=/ query=nil request_version=1.1 request_uri=http://192.168.99.100:8080/ SERVER VALUES: server_version=nginx: 1.10.0 - lua: 10001 HEADERS RECEIVED: accept=*/* host=192.168.99.100:31139 user-agent=curl/7.54.0 BODY: -no body in request-
[/simterm]
Готово.
Останавливаем и удаляем виртуалку:
[simterm]
$ minikube stop Stopping local Kubernetes cluster... Machine stopped.
[/simterm]