El recurso personalizado AtlasThirdPartyIntegration configura integraciones de terceros en un proyecto Atlas. Estos recursos le permiten administrar Integraciones de terceros con varios servicios de monitoreo para recopilar y analizar el rendimiento de su implementación de Atlas.
Importante
Los recursos personalizados ya no eliminan objetos de forma predeterminada
El operador de Kubernetes de Atlas utiliza Archivosde configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de 2.0 Kubernetes 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
AtlasProjectRecurso 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 de Atlas.,2 0consulte 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 personalizadoAtlasDeployment, 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
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 de servicio de terceros existente.
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 personalizada permite crear esta integración de terceros en un proyecto que no se administra en la misma instancia de Atlas Kubernetes Operator con la que se define este recurso. Para habilitar la operación independiente, se debe usar un externalProjectRef en lugar de un projectRef y proporcionar un connectionSecret directamente, ya que este recurso no puede heredar las credenciales de 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
Integración de terceros de Atlas
AtlasThirdPartyIntegration es el esquema para la 3API de integraciones de terceros 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 |
Integración de terceros de Atlas.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 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 | Webhook contiene los campos de configuración para la integración de Webhook. | false |
AtlasThirdPartyIntegration.spec.connectionSecret
Nombre del secreto que contiene las claves públicas y privadas 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 |
Integración de terceros de Atlas.spec.datadog
Datadog contiene los campos de configuración para la integración de Datadog.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | APIKeySecretRef contiene el nombre de un secreto que contiene la clave | true |
| string | La región es la región de Datadog | true |
| enum |
| false |
| enum |
| false |
Integración de terceros de Atlas.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 |
Integración de terceros de Atlas.spec.referencia de proyecto externo
externalProjectRef contiene el ID del proyecto Atlas principal. Se excluye mutuamente 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 |
Integración de terceros de Atlas.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 |
Integración de terceros de Atlas.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 contiene el nombre de un secreto que contiene las credenciales de la nueva reliquia: identificación 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 clave | true |
| string | La región es la región Ops Genie. | true |
Integración de terceros de Atlas.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 servicio del Pager. | true |
| Objeto |
| true |
Integración de terceros de Atlas.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 AtlasProject principal. Es mutuamente excluyente con el campo "externalProjectRef".
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Nombre del recurso de Kubernetes | true |
| string | Espacio de nombres del recurso de Kubernetes | false |
Integración de terceros de Atlas.spec.prometheus
Prometheus contiene los campos de configuración para la integración de Prometheus.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| string | Habilitado es verdadero cuando la integración de Prometheus está habilitada. | true |
| Objeto |
| true |
| enum |
| true |
Integración de terceros de Atlas.spec.prometheus.Referencia secreta de credenciales de prometheus
PrometheusCredentialsSecretRef contiene el nombre de un secreto que contiene el nombre de usuario y la contraseña de Prometheus.
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.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 |
Integración de terceros de Atlas.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 |
Integración de terceros de Atlas.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 |
Integración de terceros de Atlas.spec.webhook
Webhook contiene los campos de configuración para la integración de Webhook.
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| Objeto | URLSecretRef contiene el nombre de un secreto que contiene el webhook | true |
Integración de terceros de Atlas.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 |
Estado de integración de terceros de Atlas
AtlasThirdPartyIntegrationStatus contiene el estado de una integración
Name | Tipo | Descripción | Requerido |
|---|---|---|---|
| []objeto | Condiciones que contienen los detalles del estado | false |
| string |
| false |
Condiciones de estado de integración de terceros de Atlas
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: Verdadero, Falsoo Desconocido. Enumeración: Verdadero, Falso o Desconocido. | true |
| string | tipo de condición en | true |
| entero |
| false |