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
и можем проверить в браузере что изменения действительно применились