upd readme

This commit is contained in:
oleh 2025-04-09 10:53:31 +02:00
parent d4de016bef
commit 8af8d1ceab

View File

@ -21,27 +21,37 @@
---
## 3. Zoznam Kubernetes objektov a ich stručný opis
- **Namespace (battleship-app):**
Poskytuje izolované prostredie pre všetky vytvorené objekty súvisiace s aplikáciou.
Tento objekt vytvára samostatný menný priestor `battleship-app`, do ktorého patria všetky nasadené komponenty aplikácie, čím je zabezpečená logická izolácia zdrojov.
- **Deployment:**
- *battleship-backend:* Deployment pre backend službu s 1 replikou, ktorý zabezpečuje prevádzku Node.js aplikácie.
- *battleship-frontend:* Deployment pre frontend službu s 1 replikou, ktorý zabezpečuje dostupnosť webového rozhrania.
- **battleship-backend:**
Deployment pre backend službu, ktorý spúšťa Node.js aplikáciu s obrazom `battleship-backend:latest` a počtom replik nastaveným na 1. Aplikácia počúva na porte **4000** a využíva environment variables pre pripojenie k databáze (napríklad `DB_HOST=mysql`, `DB_PORT=3306`, `DB_USER=root`, `DB_PASSWORD=somepassword`, `DB_NAME=battleship`).
- **battleship-frontend:**
Deployment pre frontend službu, ktorý nasadzuje webové rozhranie s obrazom `battleship-frontend:latest` a počtom replik nastaveným na 1. Frontend komunikuje so serverovou logikou cez port **80**.
- **StatefulSet (battleship-mysql):**
Riadi nasadenie MySQL databázy s 1 replikou a využíva PersistentVolumeClaim na trvalé ukladanie dát.
StatefulSet s názvom `battleship-mysql` riadi nasadenie MySQL databázy s jednou replikou. Tento objekt používa PersistentVolumeClaim (`mysql-pvc`) pre trvalé ukladanie dát databázy. Kontajner beží s obrazom `mysql:8.0.30`, počúva na porte **3306** a je nakonfigurovaný pomocou environment variables `MYSQL_ROOT_PASSWORD=somepassword` a `MYSQL_DATABASE=battleship`.
- **PersistentVolume (PV):**
Definovaný zdroj pre uloženie dát databázy, typicky využívajúci `hostPath` alebo iný storage provisioner.
- **PersistentVolume (mysql-pv):**
PersistentVolume s názvom `mysql-pv` poskytuje fyzické úložisko pre MySQL databázu. Konkrétne má kapacitu **1Gi**, používa režim prístupu **ReadWriteOnce** a je nastavený na využitie `hostPath` s cestou `/mnt/data/mysql`.
- **PersistentVolumeClaim (PVC):**
Požaduje úložný priestor pre MySQL databázu (1Gi), ktorý sa následne pripojí k objektu StatefulSet.
- **PersistentVolumeClaim (mysql-pvc):**
Tento objekt žiada úložný priestor vo veľkosti **1Gi** s prístupom **ReadWriteOnce**. PVC sa následne používa v StatefulSet `battleship-mysql` na pripojenie trvalého úložiska k databáze.
- **Service:**
- *mysql:* ClusterIP služba pre internú komunikáciu s databázou.
- *backend:* NodePort služba pre prístup ku backend aplikácii.
- *frontend:* NodePort služba pre prístup k webovému rozhraniu frontend aplikácie.
- **mysql:**
ClusterIP služba, ktorá poskytuje interný prístup k MySQL databáze v rámci namespace `battleship-app` a smeruje požiadavky na port **3306**.
- **backend:**
NodePort služba, ktorá smeruje požiadavky na Deployment `battleship-backend` na port **4000** a mapuje ho na externý port **30000**, čím zabezpečuje prístup k backend API.
- **frontend:**
NodePort služba, ktorá poskytuje prístup k webovému rozhraniu nasadenému prostredníctvom Deployment `battleship-frontend` na porte **80**, pričom mapuje tento port na externý port **30001**.
---