.. | ||
nginx | ||
web | ||
.env | ||
data-deployment.yaml | ||
docker-compose.yml | ||
env-configmap.yaml | ||
nginx-deployment.yaml | ||
postgres-deployment.yaml | ||
README.md | ||
start-app.sh | ||
stop-app.sh | ||
web-deployment.yaml |
Jednoducha message web aplikacia pouzivajuca Flask, Nginx a Postgres.
Prerobil som aplikaciu zo zadania z1. Aplikacia obsahuje 3 sluzby. Web, Nginx a Postgres. start skriptom start-app.sh a zastavenie stop-app.sh Vsetky sluzby, persistent volumes aj deploymenty bezia podla minikube Kubernetes GUI spravne, avsak GUI stranku aplikacie neviem najst/nespusta sa spravne. Myslim ze ide o nejaky networking problem kedze ta ista aplikacia bez Kubernetes funguje spravne. Myslim ze porty mam exposnute spravne, viem to zistit prikazom "kubectl describe services". Tam vidime ze service "web" je exposnuty na porte 8000 ako chceme, napriklad na lokalnej adrese 127.17.0.7:8000. V browseri vsak na tejto adrese nie je frontend ako by som ocakaval. Ak budete mat cas niekedy, velmi by mi pomohlo ak by ste so mnou na to pozreli, kedze toto by som chcel deploynut aj na public cloud v ramci skusky.
Sucastou su 4 .yaml skripty ktore sa aplikuju do Kubernete start-app skriptom.
ngingx-deployment.yaml: Zakladny deployment ktory vytvori pod Service nginx pouzivany podom Persiste volume claim ako trvale ulozisko
postgres-deployment.yaml: Deployment + service
web-deployment.yaml: Deployment + service + PVC Prave v tomto yaml subore bude zrejme chyba. Neviem vsak identifikovat kde, kedze podla niekolkych navodov exposujem port webu spravne a aj je zobrazeny "describe services" prikazom.
stop-app.sh odstrani vsetky sucasti vratane lokalnych persistent volumes.
Po vytvoreni imagov nahrame pushujeme image do Azure cloud prostredia:
docker tag postgres:latest registermato.azurecr.io/postgres:latest docker push registermato.azurecr.io/postgres:latest
docker tag z2_nginx registermato.azurecr.io/z2_nginx docker push registermato.azurecr.io/z2_nginx
docker tag z2_web registermato.azurecr.io/z2_web docker push registermato.azurecr.io/z2_web
az container create --resource-group mrg --name mycontainer --image registermato.azurecr.io/z2_nginx:latest --dns-name-label mato-demo --ports 8080 az container create --resource-group mrg --name mycontainer2 --image registermato.azurecr.io/z2_web:latest --dns-name-label mato-demo2 --ports 80 az container create --resource-group mrg --name mycontainer3 --image registermato.azurecr.io/postgres:latest --dns-name-label mato-demo3 --ports 5432
Vytvorene kontajnery bezia a zdaju sa byt v poriadku, avsak frontend, tak ako pri 2. zadani nefunguje.