Запуск приложения в minikube

Делаю:
28.02.2019


Подготовка

$ minikube start


$ minikube status
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100


$ kubectl cluster-info
Kubernetes master is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.


Вроде все норм. Поехали!


Запуск без конфигов JSON / YAML

// Делал с ключом run-pod, были какие-то проблемы
$ kubectl run nodejs-cats-app --image=marley/nodejs-cats-app --port=8080 --generator=run/v1

kubectl run --generator=run/v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
replicationcontroller/nodejs-cats-app created


$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
nodejs-cats-app-nsk72   1/1     Running   0          23s


Создание объекта Service для доступа к приложению

rc - replicationcontroller


$ kubectl expose rc nodejs-cats-app --type=LoadBalancer --name nodejs-cats-app-load-balancer


// Можно не ждать External-IP. На minikube он не появится
$ kubectl get services
NAME                               TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes                         ClusterIP      10.96.0.1      <none>        443/TCP          104s
nodejs-cats-app-load-balancer   LoadBalancer   10.96.51.251   <pending>     8080:30748/TCP   8s


$ minikube ip
192.168.99.102


$ echo $(minikube service nodejs-cats-app-load-balancer --url)
http://192.168.99.102:30748


Cats inside minikube


$ kubectl get rc
NAME                 DESIRED   CURRENT   READY   AGE
nodejs-cats-app   1         1         1       4m41s


Изменение количества реплик

$ kubectl scale rc nodejs-cats-app --replicas=3


$ kubectl get rc
NAME                 DESIRED   CURRENT   READY   AGE
nodejs-cats-app   3         3         3       5m6s


$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
nodejs-cats-app-mtp56   1/1     Running   0          22s
nodejs-cats-app-mvvnp   1/1     Running   0          22s
nodejs-cats-app-nsk72   1/1     Running   0          5m21s


$ kubectl describe pod nodejs-cats-app-mvvnp


Dashboard

$ minikube dashboard


minikube dashboard


Пока котики, нам будет вас не хватать :(

$ minikube stop

// Вообще все удалить
$ minikube delete