Docs Menu
Docs Home
/ /
Empezar
/ / /

Definiciones de recursos personalizados independientes

Puede usar Atlas Kubernetes Operator para administrar recursos en un proyecto Atlas sin usar Atlas Kubernetes Operator para administrar el proyecto en sí. En este modelo de definición de recursos personalizados independientes ("CRD independiente"), se asocian recursos como AtlasDeployment Recurso personalizado y recurso personalizado con un proyecto Atlas directamente por AtlasDatabaseUser su ID de Atlas.

Los CRD independientes le permiten utilizar diferentes sistemas de administración de infraestructura programática para sus proyectos, mientras utiliza Atlas Kubernetes Operator para administrar recursos que se modifican con mayor frecuencia, como usuarios de bases de datos o implementaciones individuales.

Al separar la gestión del proyecto Atlas de la gestión de subrecursos como usuarios e implementaciones, los CRD independientes le permiten asignar estas responsabilidades a diferente personal o diferentes equipos dentro de su organización según se adapte a sus necesidades.

Al usar Atlas Kubernetes Operator para administrar un proyecto, puede configurar la autenticación de la API de administración de Atlas mediante el spec.connectionSecretRef.name parámetro del atlasProject recurso o dejar este parámetro sin configurar para que se usen las credenciales globales de Atlas de forma predeterminada. Al usar CRD independientes, puede especificar un spec.connectionSecret.name para cada recurso. Si este parámetro se configura, prevalece sobre spec.connectionSecretRef.name o las credenciales globales de Atlas.

La configuración de este parámetro es obligatoria para cualquier recurso cuyo recurso principal se referencia mediante un ID de proyecto Atlas; en caso contrario, es opcional.

Ejemplo

Se define un CRD atlasDeployment que hace referencia a su proyecto principal mediante el ID de Atlas en lugar de un parámetro atlasProject spec.name. Se debe definir un spec.connectSecret.name para el recurso atlasDeployment, como se muestra a continuación:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: test-cluster-name
namespace: mongodb-atlas-system
spec:
externalProjectRef:
id: 671998971c8520583f24f411
connectionSecret:
name: my-atlas-key
deploymentSpec:
clusterType: REPLICASET
name: service-name
tags:
- key: "environment"
value: "production"
backupEnabled: true
replicationSpecs:
- zoneName: US-Zone
numShards: 3
regionConfigs:
- regionName: CENTRAL_US
providerName: GCP
backingProviderName: GCP
priority: 7
electableSpecs:
instanceSize: M10
nodeCount: 3

Para migrar los CRD existentes desde la gestión de nivel atlasProjecta la gestión independiente:

1

Deshabilitar la conciliación de proyectos y editar referencias de subrecursos

  1. Agrega el elemento de anotación mongodb.com/atlas-reconciliation-policy: "skip" al metadata del recurso principal. Esto previene que Atlas Kubernetes Operator intente reconciliar el recurso principal y sus subrecursos. Considera lo siguiente:

    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    annotations:
    mongodb.com/atlas-reconciliation-policy: "skip"
    spec:
    name: Test project
    connectionSecretRef:
    name: my-atlas-key
    projectIpAccessList:
    - cidrBlock: "203.0.113.0/24"
    comment: "CIDR block for Application Server B - D"

    Advertencia

    Si no aplica esta anotación, Atlas Kubernetes Operator seguirá intentando la conciliación mientras modifica sus otros recursos. Para los usuarios con la opción "Nuevo valor predeterminado: Protección contra eliminación en Atlas Kubernetes Operator "2.0 deshabilitada, esto puede provocar que Atlas Kubernetes Operator elimine el proyecto Atlas al eliminar el atlasProject recurso, o que entre en estado de bloqueo al intentar eliminar un proyecto con subrecursos activos, como usuarios de bases de datos o implementaciones.

  2. Modifique la referencia del proyecto para que apunte a un ID de proyecto Atlas en lugar de un atlasProject nombre.

    Por ejemplo, para desacoplar un recurso atlasDatabaseUser:

    apiVersion: atlas.mongodb.com/v1
    kind: AtlasDatabaseUser
    metadata:
    name: my-database-user
    spec:
    roles:
    - roleName: readWriteAnyDatabase
    databaseName: admin
    externalProjectRef:
    id: 671998971c8520583f24f411
    username: theuser
    passwordSecretRef:
    name: the-user-password
2
3

Para dejar de administrar su proyecto con Atlas Kubernetes Operator, puede eliminar el CRD atlasProject. Para continuar administrando su proyecto y los subrecursos asociados con Atlas Kubernetes Operator, vaya al siguiente paso.

4

Si desea continuar administrando su proyecto con Atlas Kubernetes Operator, como en un escenario en el que aún tiene recursos subordinados a su atlasProject, reactive la conciliación eliminando la anotación de la política de conciliación del CRD atlasProject.

Volver

Atlas para el Gobierno

En esta página