Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator

Recursos personalizados

Atlas Kubernetes Operator admite 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 sus datos de copia de seguridad.

abcp

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

abp

Programación de copias de seguridad para realizar copias de seguridad de su clúster Atlas.

abs

acre

Agrupar dentro de algún proyecto en Atlas.

ad

Usuario de base de datos dentro de algún proyecto en Atlas.

adulto

Lista de fuentes permitidas para conexiones a Atlas.

aal

Proyecto en Atlas.

ap

Equipo de proyecto en Atlas.

en

instancia de base de datos federada y sus puntos finales privados en Atlas.

Adf

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

ape

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

ASIC

Conexión de procesamiento de flujo Atlas.

ascendente

Espacio de trabajo de Atlas Stream Processing.

asi

Autenticación federada en Atlas.

afa

Importante

Los recursos personalizados ya no eliminan objetos de forma predeterminada

  • El Operador de Kubernetes de Atlas utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de Kubernetes 2.0 de Atlas, los recursos personalizados que elimine en Kubernetes ya no se eliminan (de forma predeterminada) en Atlas. En su lugar, el Operador de Kubernetes de Atlas simplemente deja de administrar esos recursos en Atlas. Por ejemplo, si elimina un AtlasProject Recurso Personalizado en Kubernetes, el Operador de Kubernetes de Atlas ya no elimina automáticamente el proyecto correspondiente de Atlas. Este cambio de comportamiento tiene como objetivo ayudar a prevenir eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al valor predeterminado utilizado antes del Operador de Kubernetes 2 0de Atlas., consulte Nuevo valor predeterminado: Protección contra eliminaciones en el Operador de Kubernetes 2 de0 Atlas..

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

  • Defina explícitamente los detalles de configuración deseados para evitar el uso implícito de los valores predeterminados de Atlas. En algunos casos, heredar los valores predeterminados de Atlas puede generar un bucle de conciliación que impide que su recurso personalizado alcance el estado READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en su recurso personalizado AtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en su recurso personalizado no se aplique repetidamente a una implementación de Atlas con el escalado automático habilitado.

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

Para enumerar todos los recursos de Atlas Kubernetes Operator en su clúster con kubectl, puede ejecutar:

kubectl get atlas

Para su comodidad, para enumerar o describir tipos específicos de CRD de operadores de Kubernetes de Atlas, puede usar los nombres cortos que aparecen en la tabla anterior. Por ejemplo, para enumerar todos los atlasdatabaseusers en el espacio de nombres 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 clave API pública, clave API privada y la información de ID de la organización para configurar el acceso del operador de Kubernetes de Atlas a Atlas.

Para obtener más información, consulte Configurar 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 ID de la organización y ClavesAPI 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

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

  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 la versión de Atlas Kubernetes 2.0 Operator, al eliminar un recurso personalizado de Kubernetes, el objeto permanece en Atlas de forma predeterminada, pero Atlas Kubernetes Operator ya no lo controla. Puede revertir esta configuración predeterminada para toda la implementación o anularla para un recurso personalizado específico con una anotación para que Atlas Kubernetes Operator pueda eliminar el objeto correspondiente de Atlas. Si la 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 ID de la organización y las claves de API de una de las siguientes ubicaciones:

  3. Para eliminar el recurso de Atlas, Atlas Kubernetes Operator utiliza la información de conexión para realizar llamadas API a Atlas.

    Nota

    El operador de Kubernetes de Atlas elimina cualquier objeto relacionado creado en Kubernetes. Por ejemplo, si AtlasDatabaseUser elimina, el operador de Kubernetes de Atlas elimina los secretos de conexión relacionados.

Puede utilizar anotaciones para modificar el nuevo comportamiento predeterminado de 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 ha revertido el nuevo comportamiento de eliminación al valor predeterminado utilizado antes de Atlas Kubernetes Operator,2.0 puede agregar la mongodb.com/atlas-resource-policy: "keep" anotación al de un recurso personalizado metadata para que Atlas Kubernetes Operator no elimine el recurso cuando elimine el recurso Atlas Kubernetes Operator.

  • Si agrega la anotación mongodb.com/atlas-reconciliation-policy: "skip" al metadata ​​de un recurso personalizado, Atlas Kubernetes Operator no inicia la conciliación del recurso. Esta anotación le permite pausar la sincronización con la especificación hasta que la elimine. Puede usarla para realizar cambios manuales en un recurso personalizado y evitar que Atlas Kubernetes Operator los deshaga durante la sincronización. Al eliminar esta anotación, Atlas Kubernetes Operator concilia el recurso y lo sincroniza con la especificación.

  • Si agrega la anotación mongodb.com/atlas-resource-version-policy: "allow" al metadata ​​de un recurso personalizado, Atlas Kubernetes Operator le permite usar 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 posterior a la de Atlas Kubernetes Operator, es posible que las funciones más recientes no funcionen. Las pequeñas discrepancias de versión son compatibles con versiones anteriores.

Volver

Servicios de terceros

En esta página