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 ## 3. Zoznam Kubernetes objektov a ich stručný opis
- **Namespace (battleship-app):** - **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:** - **Deployment:**
- *battleship-backend:* Deployment pre backend službu s 1 replikou, ktorý zabezpečuje prevádzku Node.js aplikácie. - **battleship-backend:**
- *battleship-frontend:* Deployment pre frontend službu s 1 replikou, ktorý zabezpečuje dostupnosť webového rozhrania. 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):** - **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):** - **PersistentVolume (mysql-pv):**
Definovaný zdroj pre uloženie dát databázy, typicky využívajúci `hostPath` alebo iný storage provisioner. 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):** - **PersistentVolumeClaim (mysql-pvc):**
Požaduje úložný priestor pre MySQL databázu (1Gi), ktorý sa následne pripojí k objektu StatefulSet. 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:** - **Service:**
- *mysql:* ClusterIP služba pre internú komunikáciu s databázou. - **mysql:**
- *backend:* NodePort služba pre prístup ku backend aplikácii. 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**.
- *frontend:* NodePort služba pre prístup k webovému rozhraniu frontend aplikácie.
- **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**.
--- ---