Atlas Kubernetes Operator
On this page
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.
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 (by default) deleted in Atlas. Instead, Atlas Kubernetes Operator simply stops managing those resources in Atlas. For example, if you delete an
AtlasProject
Custom Resource in Kubernetes, by default the Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas. This change in behavior is intended to help prevent 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.Similarly, Atlas Kubernetes Operator does not delete teams from Atlas if you remove them from an Atlas project in Kubernetes with the Atlas Kubernetes Operator.
Explicitly define your desired configuration details in order to avoid implicitly using default Atlas configuration values. In some cases, inheriting Atlas defaults may result in a reconciliation loop which can prevent your custom resource from achieving a
READY
state. For example, explicitly defining your desired autoscaling behavior in yourAtlasDeployment
custom resource, as shown in the included example, ensures that a static instance size in your custom resource is not being repeatedly applied to an Atlas deployment which has autoscaling enabled.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
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,
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.
New Default: Deletion Protection in Atlas Kubernetes Operator 2.0
By default with Atlas Kubernetes Operator, 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. |
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 described in Use Annotations to Skip or Override Defaults.
Get Hands-On Experience with Atlas Kubernetes Operator
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. | |
Configure the AtlasDataFederation Custom Resource. | |
Set up X509 authentication. | Configure the AtlasProject Custom Resource and
AtlasDatabaseUser Custom Resource. |
Manage private endpoints. |
|
Set up network peering. | Configure the AtlasProject Custom Resource. |
Set up unified access for an AWS IAM role. | Configure the AtlasProject Custom Resource. |
Configure the AtlasFederatedAuth Custom Resource. | |
Create or update custom database roles. | Configure the AtlasProject Custom Resource. |
Configure the AtlasProject Custom Resource
and the AtlasDeployment Custom Resource. | |
Set up database auditing. | Configure the AtlasProject Custom Resource. |
Set up cloud backup. | |
Set up teams. | Configure the AtlasTeam Custom Resource and
AtlasProject Custom Resource. |
Configure the maintenance window during which Atlas starts
weekly maintenance on your database deployments. | Configure the AtlasProject Custom Resource. |
Integrate with third-party services. | Configure the AtlasProject Custom Resource. |