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
/ /
/ / /

AtlasThirdPartyIntegration Recurso personalizado

El recurso personalizado AtlasThirdPartyIntegration configura integraciones de terceros en un proyecto de Atlas. Estos recursos te permiten gestionar integraciones de terceros con varios servicios de supervisión para recopilar y analizar el rendimiento de la implementación de su Atlas.

Importante

Recursos personalizados ya no borran objetos por defecto

  • El operador de Kubernetes de Atlas utiliza Los archivos de configuración de recursos personalizados para gestionar tu configuración de Atlas, pero a partir de Atlas Kubernetes Operator 2.0, los recursos personalizados que borras en Kubernetes ya no se eliminan en Atlas (por defecto). En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos en Atlas. Por ejemplo, si eliminas un AtlasProject Custom recurso en Kubernetes, de forma predeterminada, el Atlas Kubernetes Operator ya no elimina automáticamente el Proyecto correspondiente de Atlas. Este cambio de comportamiento está diseñado para ayudar a prevenir eliminaciones accidentales o inesperadas. Para saber más, incluido cómo revertir este comportamiento al por defecto utilizado antes de Atlas Kubernetes Operator 2.0, consulta Nuevo valor por defecto: Protección de Eliminación 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

Atlas Kubernetes Operator realiza una de las siguientes acciones utilizando el recurso Atlas API de integración de servicios de terceros:

  • Crea una nueva integración de servicio de terceros.

  • Actualiza una integración existente con un servicio de terceros.

El siguiente ejemplo muestra un recurso personalizado AtlasThirdPartyIntegration que define una integración de Datadog dentro del proyecto my-project.

apiVersion: atlas.mongodb.com/v1
kind: AtlasThirdPartyIntegration
metadata:
name: my-atlas-integ
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
type: DATADOG
datadog:
apiKeySecretRef:
name: datadog-secret
region: US
sendCollectionLatencyMetrics: enabled
sendDatabaseMetrics: enabled

El siguiente ejemplo muestra un AtlasThirdPartyIntegration CRD independiente que define la misma integración de Datadog definida en el Ejemplo básico. Esta definición de recurso personalizado permite crear esta integración de terceros en un proyecto que no gestionas en la misma instancia de Atlas Kubernetes Operator con la que defines este recurso. Para habilitar la operación independiente, debes usar un externalProjectRef en lugar de un projectRef, y debes proporcionar un connectionSecret directamente, ya que este recurso no puede heredar credenciales API de su proyecto principal.

apiVersion: atlas.mongodb.com/v1
kind: AtlasThirdPartyIntegration
metadata:
name: my-atlas-integ
spec:
externalProjectRef:
projectID: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
type: DATADOG
datadog:
apiKeySecretRef:
name: datadog-secret
region: US
sendCollectionLatencyMetrics: enabled
sendDatabaseMetrics: enabled

Esta sección describe los parámetros de recursos personalizados AtlasThirdPartyIntegration disponibles.

metadata.name

Tipo: string

Requerido

Nombre que el AtlasThirdPartyIntegration Recurso personalizado utiliza para añadir esta integración de terceros a un proyecto.

metadata.namespace

Tipo: string

Opcional

Namespace en el que se desea contener el recurso personalizado AtlasThirdPartyIntegration. Si no se especifica, Atlas Kubernetes Operator utiliza el espacio de nombres actual establecido por kubectl.

spec.connectionSecret

Tipo: string

Condicional

Nombre del secretoopacoQue contiene el ID de la organización y las claves API que Atlas Kubernetes Operator utiliza para conectarse a Atlas. Si no se especifica, Atlas Kubernetes Operator recurre a:

  • El parámetro spec.connectionSecretRef.name de la matriz principal atlasProject

  • El secreto predeterminado global, si spec.connectionSecretRef.name no está definido para el padre atlasProject

Este parámetro es obligatorio para los CRD independientes.

El Atlas Kubernetes Operator supervisa los secretos solo con la etiqueta atlas.mongodb.com/type=credentials para evitar la supervisión de secretos innecesarios.

El siguiente ejemplo etiqueta un secreto:

kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.externalProjectRef

Tipo: string

Condicional

ID del proyecto al que pertenece la integración de terceros. Debes especificar el ID del grupo de un Proyecto de Atlas existente. Este parámetro es necesario para integraciones de terceros que pertenezcan a proyectos gestionados por:

  • Una instancia diferente de Atlas Kubernetes Operator

  • Herramientas distintas del Atlas Kubernetes Operator

Para implementaciones que pertenecen a proyectos gestionados por la misma instancia de Atlas Kubernetes Operator, use spec.projectRef.name si no se utiliza spec.externalProjectRef.id.

Una integración de terceros solo puede pertenecer a un proyecto. Para definir la misma integración de terceros para varios proyectos, crea definiciones de recursos personalizadas para cada proyecto.

spec.projectRef.name

Tipo: string

Condicional

Nombre del proyecto al que pertenece la integración de terceros. Debes especificar un AtlasProject recurso personalizado existente. Este parámetro se aplica únicamente a integraciones de terceros que pertenecen a proyectos gestionados por la misma instancia del Atlas Kubernetes Operator.

Para integraciones de terceros que pertenezcan a proyectos gestionados por:

  • una instancia diferente de Atlas Kubernetes Operator

  • herramientas distintas de Atlas Kubernetes Operator

usar spec.externalProjectRef.id.

Una integración de terceros solo puede pertenecer a un proyecto. Para definir la misma integración de terceros para varios proyectos, crea definiciones de recursos personalizadas para cada proyecto.

spec.type

Tipo: string

Requerido

Nombre del servicio de terceros para integrar con Atlas. Este valor debe ser uno de los siguientes:

  • DATADOG

  • MICROSOFT_TEAMS

  • NEW_RELIC

  • OPS_GENIE

  • PAGER_DUTY

  • PROMETHEUS

  • SLACK

  • VICTOR_OPS

  • WEBHOOK

Cada integración type requiere un conjunto distinto de campos de configuración. Por ejemplo, si configura type en DATADOG, solo debe configurar el documento spec.datadog y sus subcampos.

Para definir varias integraciones de terceros dentro del mismo proyecto, se debe crear un CRD separado para cada una. Puedes definir sólo una instancia de cada tipo de integración dentro de un determinado proyecto. Esto se aplica tanto a este CRD como al parámetro spec.integrations de su CRD AtlasProject.

spec.datadog

Tipo: documento

Condicional

Documento que declara los parámetros de configuración para una integración de servicio de terceros de Datadog.

Debe declarar este parámetro si establece un valor de spec.type de DATADOG.

spec.datadog.apiKeySecretRef.name

Tipo: string

Condicional

Secreto que contiene tu clave API de Datadog.

Debe declarar este parámetro si establece un valor de spec.type de DATADOG.

spec.datadog.region

Tipo: string

Condicional

Región geográfica en la que se aloja tu servicio de Datadog.

Debe declarar este parámetro si establece un valor de spec.type de DATADOG.

spec.datadog.sendCollectionLatencyMetrics

Tipo: string

Condicional

Opción que controla si se envían o no las métricas de latencia de recopilación a Datadog. Debe ser enabled o disabled.

Debe declarar este parámetro si establece un valor de spec.type de DATADOG.

spec.datadog.sendDatabaseMetrics

Tipo: string

Condicional

Alternar que controla si se envían o no métricas de bases de datos a Datadog. Debe ser enabled o disabled.

Debe declarar este parámetro si establece un valor de spec.type de DATADOG.

spec.microsoftTeams.urlSecretRef.name

Tipo: string

Condicional

Secreto que contiene tu URL secreta de Microsoft Teams. Debe contener un valor webhookURL.

Debe declarar este parámetro si establece un valor de spec.type de MICROSOFT_TEAMS.

spec.newRelic.credentialsSecretRef.name

Tipo: string

Condicional

Secreto que contiene tus credenciales de New Relic. Esto debe incluir lo siguiente:

  • ID de cuenta de New Relic

  • Clave de licencia de New Relic

  • Tokens de lectura y guardado de New Relic

Debe declarar este parámetro si establece un valor de spec.type de NEW_RELIC.

spec.opsGenie

Tipo: documento

Condicional

Documento declarativo de los parámetros de configuración para la integración de un servicio de terceros de Ops Genie.

Debe declarar este parámetro si establece un valor de spec.type de OPS_GENIE.

spec.opsGenie.apiKeySecretRef.name

Tipo: string

Condicional

Secreto que contiene su clave API de Ops Genie.

Debe declarar este parámetro si establece un valor de spec.type de OPS_GENIE.

spec.opsGenie.region

Tipo: string

Condicional

Región geográfica en la que se aloja tu servicio Ops Genie.

Debe declarar este parámetro si establece un valor de spec.type de OPS_GENIE.

spec.pagerDuty

Tipo: documento

Condicional

Documento que declara los parámetros de configuración para una integración de servicio de terceros de Pager Duty.

Debe declarar este parámetro si establece un valor de spec.type de PAGER_DUTY.

spec.pagerDuty.serviceKeySecretRef.name

Tipo: string

Condicional

Secreto que contiene la clave de servicio de Pager Duty.

spec.pagerDuty.region

Tipo: string

Condicional

Región geográfica en la que se aloja tu servicio Ops Genie.

Debe declarar este parámetro si establece un valor de spec.type de OPS_GENIE.

spec.prometheus

Tipo: documento

Condicional

Documento que declara los parámetros de configuración para una integración de servicio de terceros de Prometheus.

Debe declarar este parámetro si establece un valor de spec.type de PROMETHEUS.

spec.prometheus.enabled

Tipo: string

Condicional

Conmutador que habilita la recopilación de datos de Prometheus. Debe ser enabled o disabled.

Debe declarar este parámetro si establece un valor de spec.type de PROMETHEUS.

spec.prometheus.serviceDiscovery

Tipo: string

Condicional

Opción que determina cómo Prometheus detecta los servicios. Debe estar configurada en http o file.

Debe declarar este parámetro si establece un valor de spec.type de PROMETHEUS.

spec.prometheus.prometheusCredentialsSecretRef.name

Tipo: string

Condicional

Secreto que contiene su nombre de usuario y contraseña de Prometheus.

Debe declarar este parámetro si establece un valor de spec.type de PROMETHEUS.

spec.slack

Tipo: documento

Condicional

Documento que declara parámetros de configuración para la integración de un servicio de terceros de Slack.

Debe declarar este parámetro si establece un valor de spec.type de SLACK.

spec.slack.apiTokenSecretRef.name

Tipo: string

Condicional

Secret que contiene el token de API de Slack.

Debe declarar este parámetro si establece un valor de spec.type de SLACK.

spec.slack.channelName

Tipo: string

Condicional

Nombre del canal de Slack para integrarse con Atlas.

Debe declarar este parámetro si establece un valor de spec.type de SLACK.

spec.slack.teamName

Tipo: string

Condicional

Nombre del equipo de Slack al que el spec.slack.channelName pertenece.

Debe declarar este parámetro si establece un valor de spec.type de SLACK.

spec.victorOps

Tipo: documento

Condicional

Documento que declara los parámetros de configuración para una integración con un servicio de terceros de Victor Ops.

Debe declarar este parámetro si establece un valor de spec.type de VICTOR_OPS.

spec.victorOps.apiKeySecretRef.name

Tipo: string

Condicional

Secreto que contiene la clave API de Victor Ops.

Debe declarar este parámetro si establece un valor de spec.type de VICTOR_OPS.

spec.victorOps.routingKey

Tipo: string

Condicional

Clave de enrutamiento de Victor Ops.

Debe declarar este parámetro si establece un valor de spec.type de VICTOR_OPS.

spec.webhook.urlSecretRef.name

Tipo: string

Condicional

Secreto que contiene tu URL y secreto de webhook.

Next

Overview

En esta página