Docs Menu

Docs HomeMongoDB Atlas Kubernetes Operator

Atlas Kubernetes Operator

On this page

  • What is Atlas Kubernetes Operator?
  • What Can You Do?
  • New Default: Deletion Protection in Atlas Kubernetes Operator 2.0
  • Revert New Deletion Protection Default
  • Get Hands-On Experience with Atlas Kubernetes 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.

To learn more, see Quick Start.

Important

Custom Resources No Longer Delete Objects by Default

Atlas Kubernetes Operator uses custom resource configuration files to manage your Atlas configuration, but as of 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 an AtlasProject Custom Resource in Kubernetes, Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas, preventing accidental or unexpected deletions. To learn more, including how to revert this behavior to the default used prior to Atlas Kubernetes Operator 2.0, see New Default: Deletion Protection in Atlas Kubernetes Operator 2.0.

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 AtlasProject Custom Resource, AtlasDeployment Custom Resource, and AtlasDatabaseUser 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 an 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 described in Use Annotations to Skip or Override Defaults.

Goal
Action
Create your first cluster in Atlas with Atlas Kubernetes Operator.

See one of the following tutorials:

Configure Atlas Kubernetes Operator access to Atlas.
Manage resources.
Set up unified access for an AWS IAM role.
Create or update custom database roles.
Set up teams.
Configure the maintenance window during which Atlas starts weekly maintenance on your database deployments.
Integrate with third-party services.
Get Started with the Atlas Kubernetes Operator →