64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# 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.
|
|
- `mongodb-sharded/values.tp_v2_init.yaml`: Konfiguračný súbor pre **prvotnú inštaláciu** (s vypnutým PMM).
|
|
- `mongodb-sharded/values.tp_v2.yaml`: Konfiguračný súbor pre **finálny stav** (so zapnutým PMM).
|
|
|
|
## Postup nasadenia (s PMM integráciou)
|
|
|
|
Nasadenie prebieha v 3 hlavných krokoch:
|
|
1. Prvotná inštalácia MongoDB klastra.
|
|
2. Manuálna konfigurácia používateľa pre PMM v databáze.
|
|
3. Upgrade Helm inštalácie pre aktiváciu PMM klienta.
|
|
|
|
### Časť 1: Prvotná inštalácia MongoDB
|
|
|
|
#### 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
|
|
```
|