3.2 KiB
3.2 KiB
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
StatefulSet
so 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
hostPath
priečinku/data/postgres
- Flask obraz je buildovaný lokálne, preto v
deployment.yaml
je:
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.