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
AtlasProjectCustom 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 personalizadoAtlasDeployment, 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.
Ejemplos
Ejemplo básico
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
Ejemplo de CRD independiente
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
Parámetros
AtlasThirdPartyIntegration
AtlasThirdPartyIntegration es la Esquema para la API de integraciones de 3terceros de Atlas.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| Objeto | Consulte la documentación de Kubernetes | true |
| Objeto |
| false |
| Objeto |
| false |
AtlasThirdPartyIntegration.spec
AtlasThirdPartyIntegrationSpec contiene la configuración esperada para una integración
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| enum | Tipode integración. | true |
| Objeto | Nombre del secreto que contiene las claves privadas y las llaves públicas de Atlas | false |
| Objeto | Datadog contiene los campos de configuración para la Integración de Datadog. | false |
| Objeto |
| false |
| Objeto |
| false |
| Objeto |
| false |
| Objeto |
| false |
| Objeto |
| false |
| Objeto |
| false |
| Objeto | Prometheus contiene los campos de configuración para la integración de Prometheus. | false |
| Objeto | Slack contiene los campos de configuración para la integración de Slack. | false |
| Objeto |
| false |
| Objeto | El Webhook contiene los campos de configuración para la integración del Webhook. | false |
AtlasThirdPartyIntegration.spec.connectionSecret
Nombre del secreto que contiene las claves privadas y públicas de la API de Atlas.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.datadog
Datadog contiene los campos de configuración para la Integración de Datadog.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | APIKeySecretRef almacena el nombre de un secreto que contiene la clave de Datadog | true |
| string | La región es la región de Datadog | true |
| enum |
| false |
| enum |
| false |
AtlasThirdPartyIntegration.spec.datadog.apiKeySecretRef
APIKeySecretRef contiene el nombre de un secreto que contiene la clave API de Datadog.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.externalProjectRef
externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo con el campo 'projectRef'.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
Integración de terceros de Atlas.spec.microsoftTeams
MicrosoftTeams contiene los campos de configuración para la integración de Microsoft Teams.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | URLSecretRef contiene el nombre de un secreto que contiene el secreto de Microsoft Teams | true |
AtlasThirdPartyIntegration.spec.microsoftTeams.urlSecretRef
URLSecretRef contiene el nombre de un secreto que contiene la URL secreta de Microsoft Teams.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.newRelic
NewRelic contiene los campos de configuración para la integración de New Relic.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto |
| true |
AtlasThirdPartyIntegration.spec.newRelic.credentialsSecretRef
CredentialsSecretRef almacena el nombre de un secreto que contiene las credenciales de new relic: ID de cuenta, clave de licencia, tokens de lectura y escritura.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
Integración de terceros de Atlas.spec.opsGenie
OpsGenie contiene los campos de configuración para la integración de Ops Genie.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | APIKeySecretRef contiene el nombre de un secreto que contiene la | true |
| string | La región es la región de Ops Genie. | true |
AtlasThirdPartyIntegration.spec.opsGenie.apiKeySecretRef
APIKeySecretRef contiene el nombre de un secreto que contiene la clave API de Ops Genie.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
Integración de terceros de Atlas.spec.pagerDuty
PagerDuty contiene los campos de configuración para la Integración de PagerDuty.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | La región es la región de Pager Duty. | true |
| Objeto |
| true |
AtlasThirdPartyIntegration.spec.pagerDuty.serviceKeySecretRef
ServiceKeySecretRef contiene el nombre de un secreto que contiene la clave de servicio de Pager Duty.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
Integración de terceros de Atlas.spec.projectRef
projectRef es una referencia al recurso padre AtlasProject. Mutuamente excluyente con el campo "externalProjectRef".
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso de Kubernetes | true |
| string | namespace del recurso de Kubernetes | false |
AtlasThirdPartyIntegration.spec.prometheus
Prometheus contiene los campos de configuración para la integración de Prometheus.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Enabled es verdadero cuando la integración con Prometheus está habilitada. | true |
| Objeto |
| true |
| enum |
| true |
AtlasThirdPartyIntegration.spec.prometheus.prometheusCredentialsSecretRef
PrometheusCredentialsSecretRef contiene el nombre de un secreto que contiene Prometheus. nombre de usuario y contraseña
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.slack
Slack contiene los campos de configuración para la integración de Slack.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | APITokenSecretRef mantiene el nombre de un secreto que contiene el token Slack | true |
| string |
| true |
| string |
| true |
AtlasThirdPartyIntegration.spec.slack.apiTokenSecretRef
APITokenSecretRef contiene el nombre de un secreto que contiene el token de API de Slack.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.victorOps
VictorOps contiene los campos de configuración para la integración de VictorOps.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | APIKeySecretRef es el nombre de un secreto que contiene la clave | true |
| string |
| true |
AtlasThirdPartyIntegration.spec.victorOps.apiKeySecretRef
APIKeySecretRef es el nombre de un secreto que contiene la clave API de Victor Ops.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.webhook
El Webhook contiene los campos de configuración para la integración del Webhook.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | URLSecretRef contiene el nombre de un secreto que incluye el Webhook | true |
AtlasThirdPartyIntegration.spec.webhook.urlSecretRef
URLSecretRef contiene el nombre de un secreto que contiene la URL del webhook y el secreto.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso al que se hace referencia Más información: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasThirdPartyIntegration.status
AtlasThirdPartyIntegrationStatus mantiene el estado de una integración
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Condiciones que mantienen los detalles de estado | false |
| string |
| false |
AtlasThirdPartyIntegration.status.conditions
La Condición contiene detalles de un aspecto del estado actual de este Recurso de API.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string |
| true |
| string | El mensaje es un | true |
| string | reason contiene un identificador programático que indica el | true |
| enum | estado de la condición, uno de Verdadero, Falso, Desconocido. Enum: Verdadero, Falso, Desconocido | true |
| string | tipo de condición en | true |
| entero |
| false |