Atlas Operator
What is 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.
What Can You Do?
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, clusters, 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.
New Default: Deletion Protection in Atlas Kubernetes Operator 2.0
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
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
Alert subobjects are exceptions with their own sync controls. |
Revert New Deletion Protection Default
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.