| .. | ||
| static | ||
| templates | ||
| app.py | ||
| deployment.yaml | ||
| Dockerfile | ||
| namespace.yaml | ||
| prepare-app.sh | ||
| README.md | ||
| requirements.txt | ||
| service.yaml | ||
| start-app.sh | ||
| statefulset.yaml | ||
| stop-app.sh | ||
Správa Používateľov - Kubernetes Aplikácia
1. Podmienky na nasadenie a spustenie aplikácie
Aby ste mohli aplikáciu spustiť, musíte mať nainštalované a nakonfigurované:
- Linux (napr. WSL) alebo iný terminálový prístup k súborom
- Docker Desktop s povoleným Kubernetes (návod)
- kubectl (súčasť Docker Desktop)
- Docker CLI na build obrazu pre Flask aplikáciu
2. Opis aplikácie
Aplikácia poskytuje jednoduché webové rozhranie na správu používateľov. Používatelia sú uložení v databáze PostgreSQL a aplikácia ich dokáže pridávať alebo mazať cez jednoduché API a frontend napísaný vo Flasku.
3. Opis Kubernetes infraštruktúry
- Aplikácia beží v mennom priestore
userapp - Flask aplikácia beží ako
Deployment - PostgreSQL beží ako
StatefulSetso zachovaním dát pomocouPersistentVolume - Komunikácia prebieha cez služby (
Service) - Aplikácia je dostupná cez prehliadač na porte 30001
4. Zoznam použitých kontajnerov
- Flask (Python 3.9) – webová aplikácia s REST API a HTML šablónou
- PostgreSQL (13) – relačná databáza na ukladanie používateľov
5. Zoznam Kubernetes objektov
| Objekt | Typ | Popis |
|---|---|---|
userapp |
Namespace | Logický priestor pre všetky objekty |
flask-app |
Deployment | Webová aplikácia |
postgres |
StatefulSet | Databáza PostgreSQL |
postgres-pv |
PersistentVolume | Trvalý disk na hoste (hostPath) |
postgres-pvc |
PersistentVolumeClaim | Prepojenie PV s databázou |
flask-service |
Service (NodePort) | Prístup na aplikáciu z prehliadača |
postgres-service |
Service (ClusterIP) | Interné spojenie medzi Flask a DB |
6. Priebeh nasadenia aplikácie
Príprava aplikácie (Namespace + databáza + tabuľka):
./prepare-app.sh
Spustenie webovej aplikácie:
./start-app.sh
Zastavenie aplikácie:
./stop-app.sh
7. Ako si pozrieť aplikáciu v prehliadači
Po spustení aplikácie otvorte v prehliadači:
http://localhost:30001
8. Príklad práce s aplikáciou
Pridanie používateľa:
- Otvorte aplikáciu v prehliadači
- Zadajte meno do textového poľa
- Kliknite na tlačidlo "Pridať"
- Používateľ sa uloží do databázy a zobrazí v zozname
Odstránenie používateľa:
- Kliknite na tlačidlo "Odstrániť" pri konkrétnom používateľovi
- Používateľ sa odstráni z databázy
9. Dôležité poznámky
- PostgreSQL uchováva dáta v
hostPathpriečinku/data/postgres - Flask obraz je buildovaný lokálne, preto v
deployment.yamlje:
imagePullPolicy: Never
- Aplikácia neobsahuje pgAdmin, ale všetko funguje bez neho
10. Overenie funkčnosti
Over stav podov:
kubectl get pods -n userapp
Očakávaný výstup:
postgres-0 Running
flask-app-xxx Running
Po úspešnom spustení je aplikácia pripravená na používanie a odovzdanie.