MongoDB is a powerful, flexible, and scalable general purpose database. It combines the ability to scale out with features such as secondary indexes, range queries, sorting, aggregations, and geospatial indexes.
Ops Manager is a management platform that makes it easy to deploy, monitor, back up, and scale MongoDB on your own infrastructure.
MongoDB Enterprise supports a variety of cloud-native deployment options. This gives you and your apps access to locally deployed MongoDB clusters alongside direct access to MongoDB clusters running in the MongoDB Atlas cloud.
For the complete documentation for the service, see: https://github.com/jasonmimick/total-cluster
If you haven't yet, create a Tardigrade account before following the rest of the tutorial. Make sure to create an API key and bucket.
Your first step is to procure a Kubernetes cluster. A couple of examples can be found in the total-cluster/quickstarts folder, but most any cluster should work. This full example will require 5 to 7 worker nodes with 2 nodes having at least 8 gb of ram.
Next, set up your Tardigrade Gateway for total-cluster. Check out the details for that over in the gateway chart in total-cluster.
Installing the chart (Note: requires Helm V3),
➜ addons git:(master) ✗ helm install s3-gateway tardigade-gatewayNAME: s3-gatewayLAST DEPLOYED: Sat May 30 07:52:43 2020NAMESPACE: total-clusterSTATUS: deployedREVISION: 1TEST SUITE: None
Here, we can inspect the cluster and see our local gateway running. This service provides a local secure connection for MongoDB Ops Manager to write database backups.
➜ addons git:(master) ✗ kubectl get all --selector='app=s3-gateway-tardigrade-gateway'NAME READY STATUS RESTARTS AGEpod/s3-gateway-tardigrade-gateway-68fbf4b4d7-4qbvt 1/1 Running 0 104sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/s3-gateway-tardigrade-gateway-svc ClusterIP 10.43.65.192 <none> 7777/TCP 104sNAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/s3-gateway-tardigrade-gateway 1/1 1 1 104sNAME DESIRED CURRENT READY AGEreplicaset.apps/s3-gateway-tardigrade-gateway-68fbf4b4d7 1 1 1 104s
Once your gateway is setup and running, install the entire MongoDB data platform with the total-cluster chart.
git clone https://github.com/jasonmimick/total-clusterhelm install mongodb total-cluster
The entire chart takes between 5 to approx 10 mins to finish installing. This is because it’s installing quite a few components.
Ops Manager needs to be configured to use the gateway. You can connect to your Ops Manager with a basic port-forward command like this,
kubectl port-forward mongodb-ops-manager-0 8080:8080
You should see your MongoDB cluster once connected:
You can configure backups for your app databases following this guide: Backup Overview.
Finally, you can see the backup data blocks stored in the Tardigrade bucket. You can even use the local tardigrade-gateway with command s3 command line tools:
$kubectl port-forward tardigrade-gateway-tardigrade-gateway-75cfdb889-nz2n4 7777:7777 &$export AWS_ACCESS_KEY_ID=XXX$export AWS_SECRET_ACCESS_KEY=XXX$aws --endpoint-url http://localhost:7777 s3 ls test
We look forward to seeing what MongoDB users do with Tardigrade.
We regularly hear from users who would like cloud backup services that provide end-to-end encryption, multi-region redundancy, as well as lower and more predictable costs compared to centralized services.
Tardigrade delivers on all of these needs, while still offering the same enterprise service level agreements users absolutely require.