Files
school-dev-k8s/practice/11.local-development/README.md
T
Marsel Ibraev f44beb51a9 Add basic info
2021-09-24 11:51:02 +03:00

2.6 KiB

Local Development

1. Запускаем minikube

Для этого выполняем команду:

minikube start

И ждем завершения выполнения. После этого можем проверить что все работает:

kubectl get po -A

Должно вернуть что то типа:

kube-system   coredns-66bff467f8-mwqh4           1/1     Running   0          5m
kube-system   etcd-minikube                      1/1     Running   0          5m
kube-system   kube-apiserver-minikube            1/1     Running   0          5m
kube-system   kube-controller-manager-minikube   1/1     Running   0          5m
kube-system   kube-proxy-mq6g6                   1/1     Running   0          5m
kube-system   kube-scheduler-minikube            1/1     Running   0          5m
kube-system   storage-provisioner                1/1     Running   0         5m

2. Запускаем приложение

Сначала нужно подключиться к докеру в minikube. Для этого выполним команду:

eval $(minikube docker-env)

Дальше билдим образ

ВАЖНО!!! нужно находиться в директории ~/slurm/practice/11.local-development/app/

docker build . -t myapp:dev

После этого В ОТДЕЛЬНОЙ КОНСОЛИ запускаем команду для монтирования локальной директории в minikube.

ВАЖНО!!! нужно находиться в директории ~/slurm/practice/11.local-development/app/

minikube mount .:/app

и оставляем ее висеть

Дальше возвращаемся в первую консоль и там аплаим манифесты

kubectl apply -f kube/

Проверяем что приложение запустилось

kubectl get po

и можем открыть его в браузере. Для этого можно просто выполнить команду:

minikube service myapp

3. Вносим изменения в код

Открываем файл app.py и меняем строку

- return "Hello, World!"
+ return "Hello, Updated!"

Проверяем что приложение зарелоадилось

kubectl logs <pod_name>

Должно быть такое:

 * Detected change in '/app/app.py', reloading
 * Restarting with stat

и можем проверить в браузере что изменения действительно применились