Docs Menu
Docs Home
/ /
/ / /

AtlasThirdPartyIntegration Recurso personalizado

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

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.

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

AtlasThirdPartyIntegration es el esquema para la 3API de integraciones de terceros 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

  • (has(self.``externalProjectRef``) && has(self.``connectionSecret``)) || !has(self.``externalProjectRef``): debe definir un secreto de conexión local al hacer referencia a un proyecto externo

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

  • !has(self.datadog) || (self.type == 'DATADOG' && has(self.datadog)): solo el tipo DATADOG puede establecer campos de 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 el tipo OPS_GENIE puede establecer opsGenie campos

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

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

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

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

  • !has(self.webhook) || (self.type == 'WEBHOOK' && has(self.webhook)): solo el tipo WEBHOOK puede establecer campos de 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 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 Contiene el proyecto Atlas principal ID. Se excluye mutuamente 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.

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. Se excluye mutuamente 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

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

false

Nombre del secreto que contiene las claves públicas y privadas 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 contiene el nombre de un secreto que contiene la clave API de Datadog.

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 Atlas principal. Se excluye mutuamente 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 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

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 clave API de Ops Genie.

true

region

string

La región es la región 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 servicio del Pager.

true

serviceKeySecretRef

Objeto

ServiceKeySecretRef contiene el nombre de un secreto que contiene la clave del servicio 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 AtlasProject principal. Es mutuamente excluyente con el campo "externalProjectRef".

Name
Tipo
Descripción
Requerido

name

string

Nombre del recurso de Kubernetes

true

namespace

string

Espacio de nombres 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

Habilitado es verdadero cuando la integración de Prometheus está habilitada.

true

prometheusCredentialsSecretRef

Objeto

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

true

serviceDiscovery

enum

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

true

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

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 Prometeo.

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

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

Name
Tipo
Descripción
Requerido

urlSecretRef

Objeto

URLSecretRef contiene el nombre de un secreto que contiene 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 contiene el estado de una integración

Name
Tipo
Descripción
Requerido

conditions

[]objeto

Condiciones que contienen los detalles del 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. Debe ser cuando cambió la condición subyacente. Si no se conoce,API se acepta usar lahora en que cambió el campo. Formato: fecha y hora.

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: Verdadero, Falsoo Desconocido. Enumeración: Verdadero, Falso o Desconocido.

true

type

string

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

true

observedGeneration

entero

observedGeneration Representa la generación de metadatos en la que se basó la condición. Por ejemplo, si 12 la generación de metadatos es, pero la 9 condición de estado es, la condición está desactualizada con respecto al estado actual de la instancia. Formato: int Mínimo:64 0

false

Volver

AtlasStreamWorkspace

En esta página