Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Recursos personalizados

Atlas Kubernetes Operator es compatible con las siguientes definiciones de recursos personalizados:

Resource
Descripción
Nombre corto

AtlasBackupCompliancePolicy Recurso personalizado

Configuración de una Política de Cumplimiento de Copia de seguridad para proteger los datos de copia de seguridad.

abcp

Política de respaldo para realizar una copia de seguridad de su clúster Atlas.

abp

Cronograma de copia de seguridad para respaldar tu clúster Atlas.

abs

un(a) rol personalizado de base de datos para asignar privilegios a sus usuarios de base de datos.

acr

Clúster dentro de algún proyecto en Atlas.

ad

Usuario de base de datos dentro de un proyecto en Atlas.

adu

Lista de fuentes permitidas para las conexiones a Atlas.

aal

Proyecto en Atlas.

ap

Equipo del proyecto en Atlas.

en

instancia federada de base de datos y sus nodos privados en Atlas.

adf

Conexión de peering deVPC entre su proyecto Atlas y su proveedor de nube.

anp

Contenedor de red que admite el emparejamiento VPC entre tu proyecto de Atlas y un proveedor de nube.

anc

Modificar la configuración específica de la organización.

aos

Conexión de endpoint privado desde su proveedor de nube elegido a Atlas.

ape

Índice de alguna colección en su clúster Atlas.

ASIC

Conexión de Atlas Stream Processing.

asc

Espacio de trabajo de Atlas Stream Processing.

asi

Autenticación federada en Atlas.

afa

Importante

Recursos personalizados ya no borran objetos por defecto

  • Atlas Kubernetes Operator utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas, pero a partir de Atlas Kubernetes Operator 2.0, los recursos personalizados que borres en Kubernetes ya no se borran (por defecto) en Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de administrar estos recursos en Atlas. Por ejemplo, si borras un AtlasProject Recurso personalizado en Kubernetes, por defecto el Atlas Kubernetes Operator ya no borra automáticamente el Proyecto correspondiente en Atlas. Este cambio de comportamiento tiene como objetivo ayudar a prevenir eliminaciones accidentales o inesperadas. Para aprender más, incluyendo cómo revertir este comportamiento al por defecto antes de Atlas Kubernetes Operator 2.0, consulte Nuevo valor por defecto: Protección contra eliminaciones en Atlas Kubernetes Operator 2.0.

    De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con Atlas Kubernetes Operator.

  • Define explícitamente los detalles de configuración que deseas para evitar el uso implícito de los valores de configuración por defecto de Atlas. En algunos casos, heredar los valores por defecto de Atlas puede crear un ciclo de conciliación que impida que el recurso personalizado alcance un estado de READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en el recurso personalizado AtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en el recurso personalizado no se aplique repetidamente a una implementación de Atlas que tiene el escalado automático habilitado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

Para listar todos los recursos de Atlas Kubernetes Operator en tu clúster con kubectl, puedes ejecutar:

kubectl get atlas

Para tu comodidad, para enumerar o describir tipos específicos de CRD de Atlas Kubernetes Operator, puedes usar los nombres cortos que aparecen en la tabla anterior. Por ejemplo, para enumerar todos los atlasdatabaseusers en el namespace mongodb, puede ejecutar:

kubectl get adu -n mongodb

Cuando utilizas Atlas Kubernetes Operator, puedes crear un nuevo proyecto de Atlas o trabajar con un proyecto de Atlas existente.

Necesita la siguiente llave pública de API, llave privada de API y la información del Identificador de la Organización para configurar el acceso de Atlas Kubernetes Operator a Atlas.

Para saber más, consulta Configura el acceso a Atlas.

Cada vez que cambia el campo spec en cualquiera de los recursos personalizados admitidos, se inicia el siguiente flujo de trabajo en Atlas Kubernetes Operator:

  1. El operador de Atlas Kubernetes recibe un evento sobre el recurso personalizado modificado.

  2. Atlas Kubernetes Operator actualiza el campo status.conditions para reflejar que el recurso no está listo:

    conditions:
    - lastTransitionTime: "2021-03-13T16:26:17Z"
    status: "False"
    type: Ready
  3. Para conectarse a la API de administración de Atlas, Atlas Kubernetes Operator lee el Identificador de la Organización y las llaves API de una de las siguientes ubicaciones:

  4. Para crear o actualizar recursos en Atlas, Atlas Kubernetes Operator utiliza la información de conexión para realizar llamadas API a Atlas.

    Nota

    A veces, Atlas Kubernetes Operator realiza varias llamadas API en Atlas durante la reconciliación de un recurso personalizado. Por ejemplo, AtlasProject tiene una configuración de lista de acceso IP para llamar a la correspondiente API.

  5. Si ocurre algún error durante la conciliación, status.conditions se actualiza para reflejar el error.

    Ejemplo

    - lastTransitionTime: "2021-03-15T14:26:44Z"
    message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList:
    400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5
    must be in valid IP address or CIDR notation.'
    reason: ProjectIPAccessListNotCreatedInAtlas
    status: "False"
    type: IPAccessListReady
  6. Si la actualización se realiza correctamente, status.conditions refleja que el recurso está listo:

    conditions:
    - lastTransitionTime: "2021-03-13T16:26:17Z"
    status: "True"
    type: Ready

A partir de Atlas Kubernetes Operator 2.0, cuando eliminas un recurso personalizado de Kubernetes, el objeto permanece en Atlas por defecto, pero Atlas Kubernetes Operator ya no controla el objeto. Puede revertir este por defecto para su implementación completa, o reemplazar este por defecto para un recurso personalizado específico usando una anotación para permitir que Atlas Kubernetes Operator borre el objeto correspondiente de Atlas. Si se anula con una anotación, se inicia el siguiente flujo de trabajo:

  1. El operador de Atlas Kubernetes recibe un evento sobre el recurso personalizado eliminado.

  2. Para conectarse a la API de administración de Atlas, Atlas Kubernetes Operator lee el Identificador de la Organización y las llaves API de una de las siguientes ubicaciones:

  3. Para borrar el recurso de Atlas, Atlas Kubernetes Operator usa la información de conexión para hacer llamadas API a Atlas.

    Nota

    Atlas Kubernetes Operator elimina cualquier objeto relacionado creado en Kubernetes. Por ejemplo, si remueve AtlasDatabaseUser, Atlas Kubernetes Operator remueve la conexión relacionada secretos.

Puedes utilizar anotaciones para modificar el nuevo comportamiento por defecto del Atlas Kubernetes Operator.

  • Si agrega la anotación mongodb.com/atlas-resource-policy: "delete" al metadata ​​de un recurso personalizado, Atlas Kubernetes Operator elimina el objeto correspondiente en Atlas cuando usted elimina el recurso Atlas Kubernetes Operator.

    Ejemplo

    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    annotations:
    mongodb.com/atlas-resource-policy: "delete"
  • Si has revertido el nuevo comportamiento de eliminación al valor por defecto utilizado antes de Atlas Kubernetes Operator 2.0, puedes agregar la mongodb.com/atlas-resource-policy: "keep" anotación al metadata de un recurso personalizado para que Atlas Kubernetes Operator no borre el recurso cuando borres el recurso Atlas Kubernetes Operator.

  • Si agregas la anotación mongodb.com/atlas-reconciliation-policy: "skip" a los metadata de un recurso personalizado, el Atlas Kubernetes Operator no inicia la reconciliación para el recurso. Esta anotación permite que se pause la sincronización con la especificación hasta que se remueva la anotación. Puede usar esta anotación para realizar cambios manuales en un recurso personalizado y evitar que el Atlas Kubernetes Operator deshaga esos cambios durante una sincronización. Cuando se remueve esta anotación, el Atlas Kubernetes Operator reconcilia el recurso y lo sincroniza con la especificación.

  • Si añades la anotación mongodb.com/atlas-resource-version-policy: "allow" al metadata de un recurso personalizado, Atlas Kubernetes Operator te permite utilizar un recurso, incluso si su etiqueta de versión no coincide con la versión de Atlas Kubernetes Operator que está utilizando. Si la versión de su recurso es una versión principal anterior a su versión de Atlas Kubernetes Operator, es posible que las últimas funcionalidades no funcionen. Las discrepancias de versiones menores son retrocompatibles.

Volver

Servicios de terceros

En esta página