This commit is contained in:
Michal Utľák 2026-04-02 15:41:30 +00:00
parent a35bddc6cb
commit ecde59d1cf

View File

@ -1,23 +1,14 @@
1. Na spustenie aplikácie je potrebný Docker a pre automatizáciu kontajnerizácie aj WSL prípade PC s nainštalovaným Linuxom + GIT.
2. Je to jednoduchá TO-DO aplikácia kde si rôzni užívatelia možu pridávať a mazať svoje pripomienky, označiť ich za hotové a filtrovať na základe dátumu.
1. Je to jednoduchá TO-DO aplikácia kde si rôzni užívatelia možu pridávať a mazať svoje pripomienky, označiť ich za hotové a filtrovať na základe dátumu.
3. Aplikácia využíva jeden pomenovaný zväzok todo_mysql_data, ktorý slúži na perzistetné uloženie dát z databázy.
2. Konfigurácia kontajnerov bola rozelená na tri samostatné služby a to frontend, backend a databáza, a sú spravované pomocou Docker compose súboru. Databázovy kontajner využíva obraz mysql, backend je postavený na obraze node:20 a frontend na nginx.
4. Konfigurácia kontajnerov bola rozelená na tri samostatné služby a to frontend, backend a databáza, a sú spravované pomocou Docker compose súboru. Databázovy kontajner využíva obraz mysql, backend je postavený na obraze node:20 a frontend na nginx.
3. V aplikacii saq použil namespace todo-app. Využívajú sa 4 objekty a to Deployment na frontend a backend, StatefulSet pre databázu a Service pre ich vzájomné prepojenie. Na uloženie dát databázy sa navyše používajú aj objekty PersistentVolume a PersistentVolumeClaim.
5. todo_backend - kontajner obsahujúci backend založený na Node.js.
todo_db - kontajner obsahuhúci databázovú vrstvu založenú na obraze MYSQL
todo_frontend - kotanjner obsahujúci frontend založený na HTML, Tailwind a JS. Samotný kontajner je postavný na obraze Nginx.
4. Aplikácia využíva sieť Kubernetes, vďaka ktorej spolu frontend, backend a databáza komunikujú cez názvy služieb, napríklad frontend sa pripája na backend cez názov backend. Dáta databázy sa ukladajú do trvalého zväzku, aby zostali zachované aj po reštarte, pričom v pôvodnej Docker Compose verzii túto úlohu plnil zväzok todo_mysql_data.
6. Ak máte systém Linux resp. WSL, stačí sa presunút na miesto do ktorého chcete naklonovať repozitár. Repozitár je verejný takže by s klonovaním nemal byť problém. Potom stačí zadať príkaz:
5. Konfigurácia kontajnerov bola rozelená na tri samostatné služby a to frontend, backend a databáza. Databázovy kontajner využíva obraz mysql, backend je postavený na obraze node:20 a frontend na nginx. V prostredí Kubernetes boli tieto kontajnery nasadené pomocou objektov Deployment a StatefulSet.
git clone git@git.kemt.fei.tuke.sk:mu590ku/zkt26.git <nazov_noveho_priecinka_do_ktoreho_sa_repozitar_naklonuje>
6. Po naklonovaní repozitára sa v ňom bude nachádzať priečinok z2, ktorý obsahuje aplikáciu aj skripty a YAML súbory potrebné pre nasadenie do Kubernetes. Pred samotným spustením je potrebné prejsť do priečinka z2 a postupne spustiť skripty ./prepare-app.sh, ./start-app.sh. Pre pozastavenie aplikácie je na to určený skript ./stop-app.sh a prípadne ./remove-app.sh na vymazanie aplikácie.
Po zadaní príkazu sa vytvorí priečinok a v ňom bude ďalší priečinok z1, ktorý už bude obsahovať ako aplikáciu tak skripty pre automatickú kontajnerizáciu. Stačí už len postupne spúšťať skripty ./prepare-app.sh, ./start-app.sh, ./stop-app.sh a ./remove-app.sh.
Pozn. ak by sa stalo, ze skripty nepojde spustit a vyhodi chybu typu "permission denied while trying to connect to docker deamon socket" , treba spustit skripty so superuser pravami, tj. napr. sudo ./prepare-app.sh a pod. Taktiez aplikacia vyuziva porty 8080 pre frontend, 3000 pre backend a 3307 pre databazu takze je potrebne sa uistit, ze tieto porty su volne inak sa kontajnery nezapnu
7. Aplikáciu si na webovom rozhraní pozriete cez port 8080, príklad: 127.0.0.1:8080
8. ChatGPT 5.4, StackOverflow, Reddit
7. Aplikáciu si na webovom rozhraní pozriete cez port 30080, teda localhost:30080