Menu Docs
Página inicial do Docs
/ /
/ / /

AtlasThirdPartyIntegration Recurso personalizado

O recurso personalizado do AtlasThirdPartyIntegration configura integrações de terceiros em um projeto Atlas . Estes recursos permitem a você gerenciar integrações de terceiros com vários serviços de monitoramento para coletar e analisar o desempenho do seu sistema do Atlas.

Importante

Os Recursos Personalizados Não Excluem Mais Objetos por Padrão

  • O Atlas Kubernetes Operator usa arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas , mas a partir do Atlas Kubernetes Operator,2.0 os recursos personalizados que você exclui no Kubernetes não são mais (por padrão) excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos no Atlas. Por exemplo, se você excluir um AtlasProject Recurso Personalizado em Kubernetes, por padrão, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas. Essa mudança no comportamento destina-se a ajudar a evitar exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes 2 0Operator., consulte Novo padrão: proteção de exclusão no Atlas Kubernetes 2 0Operator..

    Da mesma forma, o Atlas Kubernetes Operator não exclui equipes do Atlas se você as remover de um projeto do Atlas no Kubernetes com o Atlas Kubernetes Operator.

  • Defina explicitamente os detalhes de configuração desejados para evitar o uso implícito de valores de configuração padrão do Atlas . Em alguns casos, herdar os padrões do Atlas pode resultar em um loop de reconciliação que pode impedir que seu recurso personalizado atinja um estado READY. Por exemplo, definir explicitamente o comportamento de autoscaling desejado em seu recurso personalizado AtlasDeployment, conforme mostrado no exemplo incluído, garante que um tamanho de instância estática em seu recurso personalizado não esteja sendo aplicado repetidamente a um sistema do Atlas que tenha o autoscaling ativado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

O Atlas Kubernetes Operator realiza uma das seguintes ações usando o recurso da API de integração de serviços de terceiros do Atlas:

  • Cria uma nova integração de serviços de terceiros.

  • Atualiza uma integração de serviços de terceiros existente.

O exemplo seguinte mostra um recurso personalizado do AtlasThirdPartyIntegration que define uma integração DataDog dentro do projeto 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

O exemplo a seguir mostra um AtlasThirdPartyIntegration CRD independente que define a mesma integração DataDog definida no Exemplo Básico. Essa definição de recurso personalizado permite criar essa integração de terceiros em um projeto que você não gerencia na mesma instância do Atlas Kubernetes Operator com a qual você define esse recurso. Para habilitar a operação independente, você deve usar um externalProjectRef em vez de um projectRef e deve fornecer um connectionSecret diretamente, pois esse recurso não pode herdar credenciais de API de seu projeto pai.

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 seção descreve os parâmetros de recurso personalizado AtlasThirdPartyIntegration disponíveis.

metadata.name

Tipo: string

Obrigatório

Nome que o AtlasThirdPartyIntegration Recurso Personalizado usa para adicionar essa integração de terceiros a um projeto.

metadata.namespace

Tipo: string

Opcional

Namespace que você deseja que contenha o recurso personalizado do AtlasThirdPartyIntegration. Se não for especificado, o Atlas Kubernetes Operator utilizará o namespace atual definido por kubectl.

spec.connectionSecret

Tipo: string

Condicional

Nome do segredo opaco segredo que contém o ID da organização e chaves de API que o Atlas Kubernetes Operator usa para se conectar ao Atlas. Se não for especificado, o Atlas Kubernetes Operator voltará para:

  • O parâmetro spec.connectionSecretRef.name do atlasProjectpai

  • O segredo global padrão, se spec.connectionSecretRef.name estiver indefinido para o atlasProjectpai

Este parâmetro é obrigatório para CRDs independentes.

O Atlas Kubernetes atlas.mongodb.com/type=credentials Operator observa segredos apenas com a etiqueta para evitar a exibição de segredos desnecessários.

O exemplo a seguir rotula um segredo:

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

Tipo: string

Condicional

ID do projeto ao qual pertence a integração de terceiros. Você deve especificar o ID do projeto de um Atlas Project existente. Esse parâmetro é necessário para integrações de terceiros que pertencem a projetos gerenciados por:

  • Uma instância diferente do Atlas Kubernetes Operator

  • Ferramentas diferentes do Atlas Kubernetes Operator

Para implantações que pertencem a projetos gerenciados pela mesma instância do Atlas Kubernetes Operator, utilize spec.projectRef.name se você não utilizar spec.externalProjectRef.id.

Uma integração de terceiros só pode pertencer a um projeto. Para definir a mesma integração de terceiros para vários projetos, crie definições de recursos personalizadas para cada projeto.

spec.projectRef.name

Tipo: string

Condicional

Nome do projeto ao qual pertence a integração de terceiros. Você deve especificar um AtlasProject Recurso Personalizado existente. Este parâmetro se aplica somente a integrações de terceiros que pertencem a projetos gerenciados pela mesma instância do Atlas Kubernetes Operator.

Para integrações de terceiros que pertencem a projetos gerenciados por:

  • uma instância diferente do Atlas Kubernetes Operator

  • ferramentas diferentes do Atlas Kubernetes Operator

usar spec.externalProjectRef.id.

Uma integração de terceiros só pode pertencer a um projeto. Para definir a mesma integração de terceiros para vários projetos, crie definições de recursos personalizadas para cada projeto.

spec.type

Tipo: string

Obrigatório

Nome do serviço de terceiros para integração com o Atlas. Esse valor deve ser um dos seguintes:

  • DATADOG

  • MICROSOFT_TEAMS

  • NEW_RELIC

  • OPS_GENIE

  • PAGER_DUTY

  • PROMETHEUS

  • SLACK

  • VICTOR_OPS

  • WEBHOOK

Cada integração type requer um conjunto distinto de campos de configuração. Por exemplo, se você definir type como DATADOG, deverá configurar somente o documento spec.datadog e seus subcampos.

Para definir várias integrações de terceiros no mesmo projeto, você deve criar um CRD separado para cada uma. Você pode definir apenas uma instância de cada tipo de integração em determinado projeto. Isso se aplica tanto a este CRD quanto ao parâmetro spec.integrations do seu CRD AtlasProject.

spec.datadog

Tipo: document

Condicional

Documento que declara parâmetros de configuração para uma integração de serviços de terceiros do DataDog.

Você deve declarar este parâmetro se você definir um valor spec.type de DATADOG.

spec.datadog.apiKeySecretRef.name

Tipo: string

Condicional

Segredo contendo sua chave de API DataDog.

Você deve declarar este parâmetro se você definir um valor spec.type de DATADOG.

spec.datadog.region

Tipo: string

Condicional

Região geográfica na qual seu serviço DataDog está hospedado.

Você deve declarar este parâmetro se você definir um valor spec.type de DATADOG.

spec.datadog.sendCollectionLatencyMetrics

Tipo: string

Condicional

Alterne que controla se deve ou não enviar métricas de latência de collection para o DataDog. Deve ser enabled ou disabled.

Você deve declarar este parâmetro se você definir um valor spec.type de DATADOG.

spec.datadog.sendDatabaseMetrics

Tipo: string

Condicional

Alterne que controla se deve ou não enviar métricas de banco de dados para o DataDog. Deve ser enabled ou disabled.

Você deve declarar este parâmetro se você definir um valor spec.type de DATADOG.

spec.microsoftTeams.urlSecretRef.name

Tipo: string

Condicional

Arquivo secreto contendo a URL secreta do Microsoft Teams. Deve conter um valor webhookURL.

Você deve declarar este parâmetro se você definir um valor spec.type de MICROSOFT_TEAMS.

spec.newRelic.credentialsSecretRef.name

Tipo: string

Condicional

Segredo contendo suas credenciais do New Relic. Isso deve incluir o seguinte:

  • ID da conta New Relic

  • Chave de licença do New Relic

  • Tokens de leitura e gravação do New Relic

Você deve declarar este parâmetro se você definir um valor spec.type de NEW_RELIC.

spec.opsGenie

Tipo: document

Condicional

Documento que declara parâmetros de configuração para uma integração de serviços de terceiros do Ops Genie.

Você deve declarar este parâmetro se você definir um valor spec.type de OPS_GENIE.

spec.opsGenie.apiKeySecretRef.name

Tipo: string

Condicional

Segredo contendo sua chave API Ops Genie.

Você deve declarar este parâmetro se você definir um valor spec.type de OPS_GENIE.

spec.opsGenie.region

Tipo: string

Condicional

Região geográfica em que seu serviço Ops Genie está hospedado.

Você deve declarar este parâmetro se você definir um valor spec.type de OPS_GENIE.

spec.pagerDuty

Tipo: document

Condicional

Documento que declara parâmetros de configuração para uma integração de serviços de terceiros do Pager Duty.

Você deve declarar este parâmetro se você definir um valor spec.type de PAGER_DUTY.

spec.pagerDuty.serviceKeySecretRef.name

Tipo: string

Condicional

Segredo contendo sua chave de serviço do Pager Duty.

spec.pagerDuty.region

Tipo: string

Condicional

Região geográfica em que seu serviço Ops Genie está hospedado.

Você deve declarar este parâmetro se você definir um valor spec.type de OPS_GENIE.

spec.prometheus

Tipo: document

Condicional

Documento que declara os parâmetros de configuração para uma integração de serviços de terceiros do Prometheus.

Você deve declarar este parâmetro se você definir um valor spec.type de PROMETHEUS.

spec.prometheus.enabled

Tipo: string

Condicional

Alternar que habilita a coleta de dados de Prometeus. Deve ser enabled ou disabled.

Você deve declarar este parâmetro se você definir um valor spec.type de PROMETHEUS.

spec.prometheus.serviceDiscovery

Tipo: string

Condicional

Alternar que determina como Prometheus descobre serviços. Deve ser definido como http ou file.

Você deve declarar este parâmetro se você definir um valor spec.type de PROMETHEUS.

spec.prometheus.prometheusCredentialsSecretRef.name

Tipo: string

Condicional

Segredo contendo seu nome de usuário e senha do Prometheus.

Você deve declarar este parâmetro se você definir um valor spec.type de PROMETHEUS.

spec.slack

Tipo: document

Condicional

Documento que declara parâmetros de configuração para uma integração de serviços de terceiros do Slack.

Você deve declarar este parâmetro se você definir um valor spec.type de SLACK.

spec.slack.apiTokenSecretRef.name

Tipo: string

Condicional

Segredo contendo seu token API do Slack.

Você deve declarar este parâmetro se você definir um valor spec.type de SLACK.

spec.slack.channelName

Tipo: string

Condicional

Nome do canal do Slack para integração com o Atlas.

Você deve declarar este parâmetro se você definir um valor spec.type de SLACK.

spec.slack.teamName

Tipo: string

Condicional

Nome da equipe do Slack à qual o spec.slack.channelName pertence.

Você deve declarar este parâmetro se você definir um valor spec.type de SLACK.

spec.victorOps

Tipo: document

Condicional

Documento que declara parâmetros de configuração para uma integração de serviços de terceiros da Victor Ops.

Você deve declarar este parâmetro se você definir um valor spec.type de VICTOR_OPS.

spec.victorOps.apiKeySecretRef.name

Tipo: string

Condicional

Segredo contendo a chave API do Victor Ops.

Você deve declarar este parâmetro se você definir um valor spec.type de VICTOR_OPS.

spec.victorOps.routingKey

Tipo: string

Condicional

Chave de roteamento Victor Ops.

Você deve declarar este parâmetro se você definir um valor spec.type de VICTOR_OPS.

spec.webhook.urlSecretRef.name

Tipo: string

Condicional

Secret contendo seu webhook URL e segredo.

Voltar

AtlasStreamInstance

Nesta página