diff --git a/README.md b/README.md index 9077a56..cb39eeb 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,19 @@ Tento repozitár obsahuje konfiguráciu a inštalačné súbory pre nasadenie sh - `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). +- `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 +## Postup nasadenia (s PMM integráciou) -Pre úspešné nasadenie klastra postupujte presne podľa nasledujúcich krokov: +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. -### 1. Vytvorenie namespace +### Č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 diff --git a/mongodb-pmm-credentials-secret.yaml b/mongodb-pmm-credentials-secret.yaml index 104cc1c..9cc1b4e 100644 --- a/mongodb-pmm-credentials-secret.yaml +++ b/mongodb-pmm-credentials-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: name: mongodb-pmm-credentials data: - pmm-mongodb-username: cG1t - pmm-mongodb-password: azhQRUJBTUs1TFl0akt2WVJaWVE= - pmm-agent-server-username: cG1t - pmm-agent-server-password: c1h4ZWZtdnR6YVNKNEpiMDFnak0= + PMM_MONGODB_USERNAME: cG1t + PMM_MONGODB_PASSWORD: azhQRUJBTUs1TFl0akt2WVJaWVE= + PMM_AGENT_SERVER_USERNAME: cG1t + PMM_AGENT_SERVER_PASSWORD: c1h4ZWZtdnR6YVNKNEpiMDFnak0= type: Opaque diff --git a/mongodb-sharded/values.tp_v2_init.yaml b/mongodb-sharded/values.tp_v2_init.yaml new file mode 100644 index 0000000..bcfc8d6 --- /dev/null +++ b/mongodb-sharded/values.tp_v2_init.yaml @@ -0,0 +1,125 @@ +global: + defaultStorageClass: "thin-disk" + security: + allowInsecureImages: true + +common: + mongodbSystemLogVerbosity: 0 + +image: + registry: "" + repository: harbor01.gt-dev.sk/edesk/mongodb-sharded + tag: 8.0.13-debian-12-r0 + debug: true + +# PMM je pre prvotnú inštaláciu vypnuté +pmmMetrics: + enabled: false + customSidecarSecret: "mongodb-pmm-credentials" + image: + repository: harbor01.gt-dev.sk/percona/pmm-client + tag: 3.7.0 + pmm_agent_server_address: "192.168.202.50:443" + pmm_agent_server_insecure_tls: "1" + pmm_agent_setup_force: "1" + pmm_agent_prerun_script: | + pmm-admin config --server-url=https://$PMM_AGENT_SERVER_USERNAME:$PMM_AGENT_SERVER_PASSWORD@$PMM_AGENT_SERVER_ADDRESS --server-insecure-tls + pmm-admin add mongodb --host=localhost --username=$PMM_MONGODB_USERNAME --password=$PMM_MONGODB_PASSWORD --enable-all-collectors --cluster=mongodb-load-cluster + +shards: 1 + +configsvr: + replicaCount: 3 + resources: + requests: + cpu: 100m + memory: 500Mi + limits: + cpu: 1 + memory: 4Gi + persistence: + size: 5Gi + sidecars: + - name: pbm-agent + image: harbor01.gt-dev.sk/edesk/percona-backup-mongodb:2.3.0 + env: + - name: MONGODB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mongodb-mongodb-sharded + key: mongodb-root-password + - name: PBM_MONGODB_URI + value: "mongodb://root:$(MONGODB_ROOT_PASSWORD)@localhost:27017/?authSource=admin" + - name: PBM_STORAGE_TYPE + value: "s3" + - name: PBM_S3_ENDPOINT + value: "http://10.20.1.115/" + - name: PBM_S3_BUCKET + value: "edesks3bck" + - name: PBM_S3_ACCESS_KEY_ID + value: "nJAWbcQtu9c7MRYVjEAp" + - name: PBM_S3_SECRET_ACCESS_KEY + value: "fWHCEEmwmAnWRTMSP9FOOFZURcGNmB8WJTBCQjBZ" + - name: PBM_S3_REGION + value: "us-east-1" + volumeMounts: + - name: datadir + mountPath: /bitnami/mongodb + +shardsvr: + dataNode: + replicaCount: 3 + resources: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 100m + memory: 500Mi + sidecars: + - name: pbm-agent + image: harbor01.gt-dev.sk/edesk/percona-backup-mongodb:2.3.0 + env: + - name: MONGODB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mongodb-mongodb-sharded + key: mongodb-root-password + - name: PBM_MONGODB_URI + value: "mongodb://root:$(MONGODB_ROOT_PASSWORD)@localhost:27017/?authSource=admin" + - name: PBM_STORAGE_TYPE + value: "s3" + - name: PBM_S3_ENDPOINT + value: "http://10.20.1.115/" + - name: PBM_S3_BUCKET + value: "edesks3bck" + - name: PBM_S3_ACCESS_KEY_ID + value: "nJAWbcQtu9c7MRYVjEAp" + - name: PBM_S3_SECRET_ACCESS_KEY + value: "fWHCEEmwmAnWRTMSP9FOOFZURcGNmB8WJTBCQjBZ" + - name: PBM_S3_REGION + value: "us-east-1" + volumeMounts: + - name: datadir + mountPath: /bitnami/mongodb + startupProbe: + enabled: true + initialDelaySeconds: 60 + periodSeconds: 30 + livenessProbe: + enabled: true + readinessProbe: + enabled: true + +mongos: + replicaCount: 3 + resources: + requests: + cpu: 100m + memory: 500Mi + limits: + cpu: 2 + memory: 4Gi + +auth: + existingSecret: mongodb-mongodb-sharded \ No newline at end of file