diff --git a/README.md b/README.md index e69de29..9077a56 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,57 @@ +# MongoDB Sharded Deployment + +Tento repozitár obsahuje konfiguráciu a inštalačné súbory pre nasadenie sharded (distribuovaného) MongoDB klastra v prostredí Kubernetes. Nasadenie využíva priložený Helm chart (založený na Bitnami) a vlastné definície pre StorageClass, Persistent Volume Claims (PVC) a prístupové údaje (Secrety). + +## Štruktúra repozitára + +- `sc-thin-disk-ds-tp.yaml`: Definícia Kubernetes StorageClass (`thin-disk`). +- `pvcshards-tp.yaml`: Predvytvorené PersistentVolumeClaim (PVC) pre Config servery a Shardovacie uzly (data uzly). +- `mongodb-tp-sharded-secret.yaml`: Secret obsahujúci root heslo a kľúč pre replika set. +- `mongodb-pmm-credentials-secret.yaml`: Secret s prístupovými údajmi pre PMM (Percona Monitoring and Management). +- `mongodb-sharded/`: Priečinok obsahujúci Helm chart pre nasadenie MongoDB. +- `values.tp_v2.yaml`: Vlastný konfiguračný súbor hodnôt pre Helm chart (použitý pri inštalácii). + +## Postup nasadenia + +Pre úspešné nasadenie klastra postupujte presne podľa nasledujúcich krokov: + +### 1. Vytvorenie namespace +Najprv je potrebné vytvoriť dedikovaný namespace, do ktorého budeme všetky prostriedky nasadzovať: +```bash +kubectl create ns mongodb +``` + +### 2. Vytvorenie StorageClass (voliteľné) +Ak vo vašom klastri ešte neexistuje požadovaný StorageClass, aplikujte ho. **Tento krok spustite iba ak `thin-disk` StorageClass ešte neexistuje.** +```bash +kubectl apply -f sc-thin-disk-ds-tp.yaml +``` + +### 3. Vytvorenie Persistent Volume Claims (PVC) +Aplikujte definície pre PVC. Po spustení príkazu overte, či sa PVC (a k nim prislúchajúce PV) úspešne vytvorili a naviazali. +```bash +kubectl apply -f pvcshards-tp.yaml -n mongodb + +# Overenie stavu PVC (hľadajte status 'Bound'): +kubectl get pvc -n mongodb +``` + +### 4. Vytvorenie Secretov +Aplikujte Kubernetes secrety obsahujúce heslá a autentifikačné kľúče pre MongoDB a PMM: +```bash +kubectl apply -f mongodb-tp-sharded-secret.yaml -n mongodb +kubectl apply -f mongodb-pmm-credentials-secret.yaml -n mongodb +``` + +### 5. Nasadenie Helm chartu +Presuňte sa do priečinka s Helm chartom a spustite inštaláciu. Pri inštalácii sa použijú vami definované hodnoty zo súboru `values.tp_v2.yaml`: +```bash +cd mongodb-sharded +helm install mongodb -f ./values.tp_v2.yaml . -n mongodb +``` + +### 6. Kontrola stavu nasadenia +Po spustení inštalácie môžete sledovať proces vytvárania podov pomocou: +```bash +kubectl get pods -n mongodb -w +```