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ť:
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.
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.
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:
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:
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:
kubectl get pods -n mongodb -w