A tool for running an enterprise-grade application stack powered by MongoDB running in any Kubernetes cluster.
total-cluster is designed to improve the quality of life for technology professionals, giving them a simple out-of-box cloud-native Kubernetes environement running securely with MongoDB Enterprise Data Service. Once installed, total cluster is ready to provide data services for your apps.
total-cluster should only be used for development and testing; it's ideally suited for demonstration and proof-of-concept tasks.
NOTE: total-cluster is still a work in progress.
To install all base components and start a MongoDB database:
helm install mongodb .
kubectl port-forward mongodb-ops-manager-0 8080:8080
TODO add info to create apikey cloud.mongodb.com
You can connect to the database with the uri
found
in the binding secret.
There are various levels of 'sophisication' you can choose for your total cluster, each level adds more locally deployed data platform components.
The minimalist setup is extra-lite.
This uses MongoDB Cloud Manager an enterprise db devops tool, and the MongoDB Kubernetes operator.
- extra-lite.values.yaml
- MongoDB Kubernetes Operator
- MongoDB Cloud Manager connection
- Local 3-node MongoDB replica set
The lite setup switches to a minimalist local (MongoDB Ops Manager) deployment. This setup does not support Ops Manager backups out-of-the-box. (But you can always add it yourself, now or later.)
- lite.values.yaml
- MongoDB Kubernetes Operator
- MongoDB Ops Manager
- 3-node app db
- Local 3-node MongoDB replica set
The first almost prod-ready option is the standard package. This adds local Ops Manager backups, HA Ops Manager backing datastores. When properly configured this option can support air-gapped environments.
Note: The values.yaml file is a copy of standard.values.yaml and therefore is the default option for total-cluster.
- standard.values.yaml
- MongoDB Kubernetes Operator
- MongoDB Ops Manager
- 3-node app db
- Local 3-node MongoDB replica set
- Node affinity for Ops Manager and dbs
- DB pod spec overrides
- Local Mail server
Needed next levels:
Add Atlas Service Broker & Service Catalog. Add support for locally defined "plans" to support Enterprise database-as-a-service requirements.
Installs an n-node k3s cluster into GCE vms (assumes you have the gcloud cli all setup.
./clusters/mongodb-k3sup-gcp.sh up
Currently, setup to demonstrate a minimal production-readly HA/DR platform. So, there a multiple dedicated Kubernetes worker nodes deployed across mutiple GCP zones.