Kubernetes: запуск Minikube на Arch Linux

Автор: | 12/06/2017
 

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]