Запуск приложения в 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=webmakaka/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
$ 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 stop
// Вообще все удалить
$ minikube delete