Atlas Edge Server is a MongoDB instance with a sync server that can be deployed on local or remote infrastructure, enabling real-time sync, conflict resolution, and disconnection tolerance. This helps ensure that mission-critical applications and devices function seamlessly, even with intermittent connectivity.
Edge Server is currently in Public Preview.
The Edge Server is packaged in Docker containers, so deploying it can be done using either docker compose or kubernetes.
For deploying on kubernetes, we supply an operator which includes Custom Resource Definitions and a Controller to make it easy to run the Edge Server in your own cluster with minimal setup. The Edge Server also uses a MongoDB container for its internal storage, which is managed by the official MongoDB Kubernetes Operator.
For testing or development, we recommend using minikube or k3s.
The below requires that you have created an Atlas Cluster with a linked Edge Server service, and create your first Edge Server via the UI.
To install the Edge Server in your kubernetes cluster, follow these steps:
helm repo add mongodb-atlas http://mongodb.github.io/edge-kubernetes-operator
helm upgrade --install edge-operator mongodb-atlas/edge-operator
Alternatively, manually install the MongoDB Community Operator and the Edge Operator deployment
helm repo add mongodb http://mongodb.github.io/helm-charts
helm upgrade --install community-operator mongodb/community-operator --set mongodb.name=mongodb-enterprise-server --set mongodb.repo=quay.io/mongodb
curl "https://raw.githubusercontent.com/mongodb/edge-kubernetes-operator/main/release.yaml" | kubectl apply -f -
edgectl
.edgectl
is a command line tool for generating and managing configurations for Edge Server deployments. It can be used to generate a kubernetes resource file to provision a Pod, configured for your app, that will run the edge server in your cluster
To install edgectl
, run
curl https://services.cloud.mongodb.com/edge/install.sh | bash -s
edgectl init --platform kubernetes --app-id <MY-APPLICATION-ID>
This will prompt you for a registration token, which is provided from the UI when creating a new edge server. It will generate a YML file and print its path.
kubectl
to apply the configuration to the clusterUse the path produced from the previous step to kubectl apply
, for example:
kubectl apply -f /Users/mike/.mongodb-edge/profiles/stores-NY-42/kube-resource.yml
This should be all you need! Use kubectl get pods
to monitor the deployment. A completed deployment will look something like this:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
edge-operator-edge-operator-565b79476d-4t248 2/2 Running 0 11m
mongodb-kubernetes-operator-f6f956684-rbtz4 1/1 Running 0 62m
stores-NY-42-0 2/2 Running 0 58m
stores-NY-42-backing-db-0 2/2 Running 0 58m
If you have a feature request, you can make one on our Feedback Site.
If you need help or have questions, please open a topic in our new Community Forum - please use the tag atlas-edge-server.
For commercial support customers, please file a support ticket for any questions or problems.