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

AtlasThirdPartyIntegration es la Esquema para la API de integraciones de 3terceros de Atlas.

Name
Tipo
Descripción
Requerido

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasThirdPartyIntegration

true

metadata

Objeto

Consulte la documentación de Kubernetes API para conocer los campos del campo metadata.

true

spec

Objeto

AtlasThirdPartyIntegrationSpec Contiene la configuración esperada para una integración Validaciones:

  • (has(self.``externalProjectRef``) && !has(self.``projectRef``)) || (!has(self.``externalProjectRef``) && has(self.``projectRef``)): debe definir solo una referencia de proyecto a través de externalProjectRef o projectRef

  • (tiene(self.``externalProjectRef``) && tiene(self.``connectionSecret``)) || !tiene(self.``externalProjectRef``): debe definir un secreto de conexión local cuando se referencia un proyecto externo

  • tiene(self.type) && self.type.size() != 0: se debe definir un tipo de integración

  • !has(self.datadog) || (self.type == 'DATADOG' && has(self.datadog)): solo el tipo DATADOG puede establecer campos datadog

  • !has(self.``microsoftTeams``) || (self.type == 'MICROSOFT_TEAMS' && has(self.``microsoftTeams``)): solo el tipo MICROSOFT_TEAMS puede establecer microsoftTeams campos

  • !has(self.``newRelic``) || (self.type == 'NEW_RELIC' && has(self.``newRelic``)): Sólo el campo de tipo NEW_RELIC puede establecer newRelic

  • !has(self.``opsGenie``) || (self.type == 'OPS_GENIE' && has(self.``opsGenie``)): solo OPS_GENIE tipo puede establecer campos opsGenie

  • !has(self.prometheus) || (self.type == 'PROMETHEUS' && has(self.prometheus)): solo PROMETHEUS tipo puede establecer campos de prometheus

  • !tiene(self.``pagerDuty``) || (self.type == 'PAGER_DUTY' && has(self.``pagerDuty``)): solo el tipo PAGER_DUTY puede establecer los campos pagerDuty

  • !has(self.slack) || (self.type == 'SLACK' && has(self.slack)): solo SLACK tipo puede establecer campos de Slack

  • !has(self.``victorOps``) || (self.type == 'VICTOR_OPS' && has(self.``victorOps``)): solo VICTOR_OPS tipo puede establecer campos victorOps

  • !has(self.webhook) || (self.type == 'WEBHOOK' && has(self.webhook)): solo WEBHOOK tipo puede configurar los campos webhook

false

status

Objeto

AtlasThirdPartyIntegrationStatus contiene el status de una integración

false

AtlasThirdPartyIntegrationSpec contiene la configuración esperada para una integración

Name
Tipo
Descripción
Requerido

type

enum

Tipode integración. DATADOG MICROSOFT_TEAMSNEW_RELICOPS_GENIEPAGER_DUTYPROMETHEUSSLACKEnumeración:,,,,,,,, VICTOR_OPSWEBHOOK

true

connectionSecret

Objeto

Nombre del secreto que contiene las claves privadas y las llaves públicas de Atlas API.

false

datadog

Objeto

Datadog contiene los campos de configuración para la Integración de Datadog.

false

externalProjectRef

Objeto

externalProjectRef mantiene el proyecto principal de Atlas ID. Mutuamente excluyentes con el campo "projectRef".

false

microsoftTeams

Objeto

MicrosoftTeams contiene los campos de configuración para la integración de Microsoft Teams.

false

newRelic

Objeto

NewRelic contiene los campos de configuración para la integración de New Relic.

false

opsGenie

Objeto

OpsGenie contiene los campos de configuración para la integración de Ops Genie's.

false

pagerDuty

Objeto

PagerDuty contiene los campos de configuración para la Integración de PagerDuty.

false

projectRef

Objeto

projectRef es una referencia al recurso principal AtlasProject. Mutuamente excluyentes con el campo "externalProjectRef".

false

prometheus

Objeto

Prometheus contiene los campos de configuración para la integración de Prometheus.

false

slack

Objeto

Slack contiene los campos de configuración para la integración de Slack.

false

victorOps

Objeto

VictorOps contiene los campos de configuración para la Integración de VictorOps.

false

webhook

Objeto

El Webhook contiene los campos de configuración para la integración del Webhook.

false

Nombre del secreto que contiene las claves privadas y públicas de la API de Atlas.

Datadog contiene los campos de configuración para la Integración de Datadog.

Name
Tipo
Descripción
Requerido

apiKeySecretRef

Objeto

APIKeySecretRef almacena el nombre de un secreto que contiene la clave de Datadog API.

true

region

string

La región es la región de Datadog

true

sendCollectionLatencyMetrics

enum

SendCollectionLatencyMetrics Activa o desactiva las métricas de latencia de envío de la recopilación. Enumeración: habilitado,deshabilitado. Predeterminado: deshabilitado.

false

sendDatabaseMetrics

enum

SendDatabaseMetrics alterna el envío de métricas de la base de datos, incluidos los nombres de bases de datos y colecciones Enum:habilitado, deshabilitado Predeterminado: deshabilitado

false

APIKeySecretRef contiene el nombre de un secreto que contiene la clave API de Datadog.

Name
Tipo
Descripción
Requerido

name

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

externalProjectRef contiene el ID del proyecto principal de Atlas. Mutuamente exclusivo con el campo 'projectRef'.

Name
Tipo
Descripción
Requerido

id

string

ID es el proyecto Atlas ID.

true

MicrosoftTeams contiene los campos de configuración para la integración de Microsoft Teams.

Name
Tipo
Descripción
Requerido

urlSecretRef

Objeto

URLSecretRef contiene el nombre de un secreto que contiene el secreto de Microsoft Teams URL.

true

URLSecretRef contiene el nombre de un secreto que contiene la URL secreta de Microsoft Teams.

Name
Tipo
Descripción
Requerido

name

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

NewRelic contiene los campos de configuración para la integración de New Relic.

Name
Tipo
Descripción
Requerido

credentialsSecretRef

Objeto

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.

true

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

name

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

OpsGenie contiene los campos de configuración para la integración de Ops Genie.

Name
Tipo
Descripción
Requerido

apiKeySecretRef

Objeto

APIKeySecretRef contiene el nombre de un secreto que contiene la API clave de Ops Genie.

true

region

string

La región es la región de Ops Genie.

true

APIKeySecretRef contiene el nombre de un secreto que contiene la clave API de Ops Genie.

Name
Tipo
Descripción
Requerido

name

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

PagerDuty contiene los campos de configuración para la Integración de PagerDuty.

Name
Tipo
Descripción
Requerido

region

string

La región es la región de Pager Duty.

true

serviceKeySecretRef

Objeto

ServiceKeySecretRef contiene el nombre de un secreto que contiene la clave del servicio de Pager Duty.

true

ServiceKeySecretRef contiene el nombre de un secreto que contiene la clave de servicio de Pager Duty.

Name
Tipo
Descripción
Requerido

name

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

projectRef es una referencia al recurso padre AtlasProject. Mutuamente excluyente con el campo "externalProjectRef".

Name
Tipo
Descripción
Requerido

name

string

Nombre del recurso de Kubernetes

true

namespace

string

namespace del recurso de Kubernetes

false

Prometheus contiene los campos de configuración para la integración de Prometheus.

Name
Tipo
Descripción
Requerido

enabled

string

Enabled es verdadero cuando la integración con Prometheus está habilitada.

true

prometheusCredentialsSecretRef

Objeto

PrometheusCredentialsSecretRef tiene el nombre de un secreto que contiene el Prometheus. nombre de usuario y contraseña

true

serviceDiscovery

enum

ServiceDiscovery Para ser utilizado por Prometheus. Enumeración: archivo, http

true

PrometheusCredentialsSecretRef contiene el nombre de un secreto que contiene Prometheus. nombre de usuario y contraseña

Name
Tipo
Descripción
Requerido

name

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

Slack contiene los campos de configuración para la integración de Slack.

Name
Tipo
Descripción
Requerido

apiTokenSecretRef

Objeto

APITokenSecretRef mantiene el nombre de un secreto que contiene el token Slack API.

true

channelName

string

ChannelName para ser utilizado por Prometheus.

true

teamName

string

TeamName Indica si la integración de Prometheus está habilitada.

true

APITokenSecretRef contiene el nombre de un secreto que contiene el token de API de Slack.

Name
Tipo
Descripción
Requerido

name

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

VictorOps contiene los campos de configuración para la integración de VictorOps.

Name
Tipo
Descripción
Requerido

apiKeySecretRef

Objeto

APIKeySecretRef es el nombre de un secreto que contiene la clave API de Victor Ops.

true

routingKey

string

RoutingKey contiene la clave de enrutamiento VictorOps.

true

APIKeySecretRef es el nombre de un secreto que contiene la clave API de Victor Ops.

Name
Tipo
Descripción
Requerido

name

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

El Webhook contiene los campos de configuración para la integración del Webhook.

Name
Tipo
Descripción
Requerido

urlSecretRef

Objeto

URLSecretRef contiene el nombre de un secreto que incluye el Webhook URL y el secreto.

true

URLSecretRef contiene el nombre de un secreto que contiene la URL del webhook y el secreto.

Name
Tipo
Descripción
Requerido

name

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

AtlasThirdPartyIntegrationStatus mantiene el estado de una integración

Name
Tipo
Descripción
Requerido

conditions

[]objeto

Condiciones que mantienen los detalles de estado

false

id

string

ID del recurso de integración de terceros en Atlas

false

La Condición contiene detalles de un aspecto del estado actual de este Recurso de API.

Name
Tipo
Descripción
Requerido

lastTransitionTime

string

lastTransitionTime es la última vez que la condición cambió de un estado a otro. Esto debe ser cuando la condición subyacente cambió. Si eso no se conoce, entonces es aceptable usar el momento en que cambió el campo API. Formato: date-time

true

message

string

El mensaje es un message legible que indica detalles sobre la transición. Puede ser una cadena vacía.

true

reason

string

reason contiene un identificador programático que indica el reason de la última transición de la condición. Los productores de tipos de condición específicos pueden definir valores esperados y significados para este campo, e indicar si los valores se consideran un API garantizado. El valor debe ser una cadena CamelCase. Este campo no puede estar vacío.

true

status

enum

estado de la condición, uno de Verdadero, Falso, Desconocido. Enum: Verdadero, Falso, Desconocido

true

type

string

tipo de condición en CamelCase o en foo.example.com/CamelCase.

true

observedGeneration

entero

observedGeneration representa el .metadatos.generation sobre el que se estableció la condición. Por ejemplo, si .metadata.generation es actualmente 12, pero el campo .status.conditions[x].``observedGeneration`` es 9, la condición está desactualizada respecto al estado actual de la instancia. Formato: int64 Mínimo: 0

false

Next

Overview

En esta página