Docs Menu

Docs HomeLaunch & Manage MongoDBMongoDB Atlas

Atlas Operator

Atlas Kubernetes Operator is a new service that integrates Atlas resources with your Kubernetes cluster. You can now deploy and manage the lifecycle of your cloud-native applications that need data services in a single control plane with secure enterprise platform integration.

You can use Atlas Kubernetes Operator to manage resources in Atlas without leaving Kubernetes. You deploy Atlas Kubernetes Operator into Kubernetes clusters. Atlas Kubernetes Operator manages resources in Atlas based on Kubernetes custom resources. It ensures that the state of the projects, database deployments, and database users in Atlas matches the configurations in each custom resource that you create in your Kubernetes cluster.

Atlas Kubernetes Operator supports many advanced features within the custom resources, such as X509 authentication, private endpoints in Azure and AWS, and advanced multi-cloud and multi-region clusters.

With Atlas Kubernetes Operator 2.0, custom resources you delete in Kubernetes are no longer deleted in Atlas. Instead, Atlas Kubernetes Operator simply stops managing those resources.

For example, if you delete AtlasProject custom resource in Kubernetes, Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas, preventing accidental or unexpected deletions. This applies to all objects managed using custom resources.

You can revert this behavior to the default used prior to Atlas Kubernetes Operator 2.0 for your entire deployment or for specific custom resources or subobjects.

Use the following tables to determine the correct behavior for your deployment:

Deletion Protection
No Deletion Protection
New default as of Atlas Kubernetes Operator 2.0
Default prior to Atlas Kubernetes Operator 2.0
If you delete a custom resource or objects from a custom resource,the corresponding objects remain in Atlas but Atlas Kubernetes Operator no longer manages them. You can manage objects decoupled from Atlas Kubernetes Operator only from another interface, such as the Atlas UI.
If you delete a custom resource or objects from a custom resource, Atlas Kubernetes Operator deletes the corresponding objects in Atlas, even objects deployed prior to using Atlas Kubernetes Operator. Changes to a custom resource overwrite changes in Atlas made using another interface, such as the Atlas UI.

Subobjects are objects that you define within another custom resource instead of their own dedicated custom resource, such as private endpoints, or IP access lists, and behave as follows:

Deletion Protection for Subobjects
No Deletion Protection for Subobjects
New default as of Atlas Kubernetes Operator 2.0
Default prior to Atlas Kubernetes Operator 2.0

If you delete a subobject from a custom resource, Atlas Kubernetes Operator deletes the corresponding subobject from Atlas only if that subobject existed in the custom resource during the last reconciliation and matches exactly.

For example, if you delete a private endpoint from the AtlasProject custom resource, Atlas Kubernetes Operator checks if it existed in the custom resource during the last reconciliation and matches exactly, meaning it wasn't created or changed by another interface, such as the Atlas UI. If it doesn't match exactly, Atlas Kubernetes Operator does not reconcile the AtlasProject custom resource. For this reason, we recommend against using the Atlas UI to administer Atlas Kubernetes Operator projects and deployments.

Alert subobjects are exceptions with their own sync controls.

If you delete a subobject from a custom resource, Atlas Kubernetes Operator deletes the corresponding subobject from Atlas and all other subobjects of the same type, even if they existed in Atlas prior to using Atlas Kubernetes Operator or were created or changed by another interface, such as the Atlas UI.

For example, if you delete a private endpoint from the AtlasProject custom resource, Atlas Kubernetes Operator overwrites Atlas with what you configured in the custom resource, including overwriting any private endpoints you added using the Atlas UI. For this reason, we recommend against using the Atlas UI to administer Atlas Kubernetes Operator projects and deployments.

Alert subobjects are exceptions with their own sync controls.

You can control the new deletion protection behavior using the --object-deletion-protection flag or the OBJECT_DELETION_PROTECTION environment variable in the Kubernetes Deployment resource that you applied when installing Atlas Kubernetes Operator.

This flag and environment variable all default to true. Set to false to revert to the behavior prior to Atlas Kubernetes Operator 2.1.

You can also control which behavior to use for individual custom resources using the atlas-resource-policy annotations.

← Manage the Atlas CLI