Docs Menu
Docs Home
/

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 (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 your AtlasDeployment 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

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.

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.

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.

Next

Get Started