Přidat z2/README.md
This commit is contained in:
parent
dedfbc8343
commit
7513232859
105
z2/README.md
Normal file
105
z2/README.md
Normal file
@ -0,0 +1,105 @@
|
||||
# 📚 Hate Speech Bot – Dokumentácia
|
||||
|
||||
## 🔍 Opis aplikácie
|
||||
|
||||
Ide o kompletný systém na detekciu nenávistných správ v prostredí Telegramu. Obsahuje Telegram bota, ktorý analyzuje správy, zaznamenáva porušenia do databázy MySQL, a webovú aplikáciu (Flask), ktorá tieto dáta zobrazuje v reálnom čase. Webová stránka sa automaticky aktualizuje každých 5 sekúnd a zobrazí najnovších porušovateľov.
|
||||
|
||||
---
|
||||
|
||||
## 📦 Zoznam použitých kontajnerov
|
||||
|
||||
| Kontajner | Popis |
|
||||
|--------------------------------------|-------|
|
||||
| `tetianamohorian/hate-speech-bot` | Obsahuje Telegram bota a Flask webovú aplikáciu v jednom kontajneri. |
|
||||
| `mysql:8` | Databázový server pre ukladanie porušení. |
|
||||
|
||||
---
|
||||
|
||||
## ☸️ Zoznam Kubernetes objektov
|
||||
|
||||
| Objekt | Popis |
|
||||
|----------------------------|-------|
|
||||
| `Namespace: botspace` | Oddelený menný priestor pre všetky objekty aplikácie. |
|
||||
| `Deployment: bot-deployment` | Spúšťa Telegram bota. |
|
||||
| `Deployment: flask-web` | Spúšťa webovú aplikáciu. |
|
||||
| `StatefulSet: mysql` | Stabilné nasadenie MySQL databázy s uchovaním dát. |
|
||||
| `PersistentVolume` | Trvalý zväzok na fyzickom disku pre MySQL. |
|
||||
| `PersistentVolumeClaim` | Požiadavka na disk pre MySQL. |
|
||||
| `Service: mysql` | Interný prístup k databáze z iných podov. |
|
||||
| `Service: flask-service` | Sprístupňuje Flask web cez port-forward. |
|
||||
| `ConfigMap: init-sql` | Obsahuje SQL skript na inicializáciu databázy. |
|
||||
| `Secret: bot-secret` | Bezpečne uchováva Telegram API token. |
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Virtuálne siete a pomenované zväzky
|
||||
|
||||
- Všetky pod-y komunikujú v internej sieti v rámci `botspace`.
|
||||
- `PersistentVolume` pripojený k MySQL cez `PersistentVolumeClaim` zabezpečuje trvalé uloženie údajov v `/var/lib/mysql`.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Konfigurácia kontajnerov
|
||||
|
||||
- `flask-web` je nakonfigurovaný na porte `5000`, ktorý je sprístupnený cez službu `flask-service`.
|
||||
- `bot-deployment` využíva `Secret` na získanie Telegram tokenu.
|
||||
- `mysql` inicializuje databázu automaticky pomocou `initContainer` a `ConfigMap` so SQL skriptom.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Návod na použitie
|
||||
|
||||
### ✅ Príprava aplikácie:
|
||||
|
||||
```bash
|
||||
bash prepare-app.sh
|
||||
```
|
||||
|
||||
➡️ Vytvorí Docker image a pushne ho na Docker Hub.
|
||||
|
||||
---
|
||||
|
||||
### 🚀 Spustenie aplikácie:
|
||||
|
||||
```bash
|
||||
bash start-app.sh
|
||||
```
|
||||
|
||||
➡️ Vytvorí všetky Kubernetes objekty a spustí port-forward (napr. na `localhost:8080`).
|
||||
|
||||
---
|
||||
|
||||
### ⏸️ Pozastavenie aplikácie (port-forward):
|
||||
|
||||
```bash
|
||||
pkill -f "kubectl port-forward"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### ❌ Odstránenie celej aplikácie:
|
||||
|
||||
```bash
|
||||
bash stop-app.sh
|
||||
```
|
||||
|
||||
➡️ Zmaže celý namespace `botspace` a všetky objekty.
|
||||
|
||||
---
|
||||
|
||||
## 🌍 Prístup k webovej aplikácii
|
||||
|
||||
Po spustení aplikácie si otvor webový prehliadač a zadaj adresu:
|
||||
|
||||
```
|
||||
http://localhost:8080
|
||||
```
|
||||
|
||||
➡️ Zobrazí sa webová stránka s tabuľkou porušovateľov, ktorá sa aktualizuje každých 5 sekúnd.
|
||||
|
||||
---
|
||||
|
||||
## 👩💻 Autor
|
||||
|
||||
Vypracovala: **Tetiana Mohorian**
|
||||
Projekt Z2 – Kubernetes nasadenie webovej aplikácie s databázou
|
||||
Loading…
Reference in New Issue
Block a user