zkt25/z2/README.md

3.2 KiB
Raw Blame History

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.