zkt25/z2
2025-04-10 09:15:58 +00:00
..
static Обновить z2/static/styles.css 2025-04-10 09:15:58 +00:00
app.py Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
deployment.yaml Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
Dockerfile Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
index.html Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
namespace.yaml Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
prepare-app.sh Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
README.md Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
requirements.txt Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
service.yaml Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
start-app.sh Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
statefulset.yaml Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00
stop-app.sh Загрузить файлы в «z2» 2025-04-09 23:10:47 +00:00

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 pomocou PersistentVolume
  • 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:

  1. Otvorte aplikáciu v prehliadači
  2. Zadajte meno do textového poľa
  3. Kliknite na tlačidlo "Pridať"
  4. Používateľ sa uloží do databázy a zobrazí v zozname

Odstránenie používateľa:

  1. Kliknite na tlačidlo "Odstrániť" pri konkrétnom používateľovi
  2. 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.