MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
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

AtlasThirdPartyIntegration é o esquema da API de integrações de terceiros do atlas 3.

Name
Tipo
Descrição
Obrigatório

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasThirdPartyIntegration

true

metadata

objeto

Consulte a documentação do Kubernetes API para os campos do campo metadata.

true

spec

objeto

AtlasThirdPartyIntegrationSpec contém a configuração esperada para Validações de integração:

  • (has(auto.''externalProjectRef'') && !has(auto.''projectRef'')) || (!has(auto.''externalProjectRef'') && has(auto.``projectRef``)): deve definir apenas uma referência do projeto por meio de externalProjectRef ou projectRef

  • (has(auto.''externalProjectRef'') && has(auto.``connectionSecret``)) || !has(auto.''externalProjectRef''): deve definir um segredo de conexão local ao fazer referência a um projeto externo

  • has(auto.type) && self.type.size() != 0: deve definir um tipo de integração

  • !has(auto.datadog) || (auto.type == 'DATADOG' && has(auto.datadog)): somente o tipo DATADOG pode definir campos datadog

  • !has(auto.``microsoftTeams``) || (auto.type == 'MICROSOFT_TEAMS' && has(auto.``microsoftTeams``)): somente o tipo MICROSOFT_TEAMS pode definir microsoftTeams campos

  • !has(auto.``newRelic``) || (auto.type == 'NEW_RELIC' && has(auto.``newRelic``)): somente o tipo NEW_RELIC pode definir newRelic campos

  • !has(auto.``opsGenie``) || (auto.type == 'OPS_GENIE' && has(auto.``opsGenie``)): somente o tipo OPS_GENIE pode definir opsGenie campos

  • !has(auto.prometeus) || (auto.type == 'PROMETHEUS' && tem(auto.prometheus)): somente o tipo PROMETHEUS pode definir campos de prometeus

  • !has(auto.``pagerDuty``) || (auto.type == 'PAGER_DUTY' && has(auto.``pagerDuty``)): somente o tipo PAGER_DUTY pode definir pagerDuty campos

  • !has(auto.slack) || (auto.type == 'SLACK' && tem(auto.slack)): somente o tipo SLACK pode definir campos slack

  • !has(auto.``victorOps``) || (auto.type == 'VICTOR_OPS' && has(auto.``victorOps``)): somente o tipo VICTOR_OPS pode definir victorOps campos

  • !has(auto.webhook) || (auto.type == 'WEBHOOK' && has(auto.webhook)): somente o tipo WEBHOOK pode definir campos de webhook

false

status

objeto

AtlasThirdPartyIntegrationStatus contém o status de uma integração

false

AtlasThirdPartyIntegrationSpec contém a configuração esperada para uma integração

Name
Tipo
Descrição
Obrigatório

type

enum

Tipo de integração. enumeração: DATADOG, MICROSOFT_TEAMS, NEW_RELIC, OPS_GENIE, PAGER_DUTY, PROMETHEUS, SLACK, VICTOR_OPS, WEBHOOK

true

connectionSecret

objeto

Nome do segredo contendo as chaves privada e pública do Atlas API.

false

datadog

objeto

O Datadog contém os campos de configuração para Integração do Datadog.

false

externalProjectRef

objeto

externalProjectRef contém o projeto principal do Atlas ID. Mutualmente exclusivo com o campo"projectRef".

false

microsoftTeams

objeto

MicrosoftTeams contém os campos de configuração para a integração do Microsoft Teams.

false

newRelic

objeto

NewRelic contém os campos de configuração para a integração do New Relic.

false

opsGenie

objeto

OpsGenie contém os campos de configuração da integração do Ops Genie.

false

pagerDuty

objeto

PagerDuty contém os campos de configuração para a integração do PagerDuty.

false

projectRef

objeto

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

false

prometheus

objeto

Prometheus contém os campos de configuração para a integração de Prometheus.

false

slack

objeto

O Slack contém os campos de configuração para a integração do Slack.

false

victorOps

objeto

VictorOps contém os campos de configuração para a integração do VictorOps.

false

webhook

objeto

Webhook contém os campos de configuração para integração do webhook.

false

Nome do segredo que contém as chaves privadas e públicas da Atlas API.

O Datadog contém os campos de configuração para Integração do Datadog.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef contém o nome de um segredo que contém a chave Datadog API .

true

region

string

Região é a região do Datadog

true

sendCollectionLatencyMetrics

enum

SendCollectionLatencyMetrics alterna o envio de métricas de latência de coleção. enumeração: habilitado, desabilitado padrão: desabilitado

false

sendDatabaseMetrics

enum

SendDatabaseMetrics alterna o envio de métricas de banco de dados, incluindo nomes de banco de dados e coleção enumeração: habilitado, desabilitado padrão: desabilitado

false

APIKeySecretRef contém o nome de um segredo que contém a chave de API Datadog .

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

externalProjectRef contém o ID do grupo pai do Atlas. Mutualmente exclusivo com o campo"projectRef".

Name
Tipo
Descrição
Obrigatório

id

string

ID é o projeto Atlas ID.

true

O MicrosoftTeams contém os campos de configuração para a integração do Microsoft Teams.

Name
Tipo
Descrição
Obrigatório

urlSecretRef

objeto

URLSecretRef contém o nome de um segredo que contém o segredo URL do Microsoft Teams.

true

URLSecretRef contém o nome de um segredo que contém o URL secreto do Microsoft Teams.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

NewRelic contém os campos de configuração para a integração do New Relic.

Name
Tipo
Descrição
Obrigatório

credentialsSecretRef

objeto

CredentialsSecretRef contém o nome de um segredo que contém as credenciais da New Relic: id da conta, chave de licença, tokens de leitura e tokens de gravação.

true

CredentialsSecretRef detém o nome de um segredo que contém as credenciais do New Relic: ID da conta, chave de licença, tokens de leitura e gravação.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

O OpsGenie contém os campos de configuração para a integração do Ops Genie.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef contém o nome de um segredo que contém a chave API do Ops Genie.

true

region

string

Região é a região do Ops Genie.

true

APIKeySecretRef contém o nome de um segredo que contém a chave API do Ops Genie.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

PagerDuty contém os campos de configuração para Integração do PagerDuty.

Name
Tipo
Descrição
Obrigatório

region

string

Região é a região do Serviço do Pager.

true

serviceKeySecretRef

objeto

ServiceKeySecretRef contém o nome de um segredo que contém a chave de serviço Pager Duty.

true

ServiceKeySecretRef detém o nome de um segredo que contém a chave de serviço Pager Duty.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

Name
Tipo
Descrição
Obrigatório

name

string

Nome do Recurso Kubernetes

true

namespace

string

Namespace do Recurso Kubernetes

false

Prometheus contém os campos de configuração para a integração de Prometheus.

Name
Tipo
Descrição
Obrigatório

enabled

string

Habilitado é verdadeiro quando a integração Prometheus está habilitada.

true

prometheusCredentialsSecretRef

objeto

PrometheusCredentialsSecretRef detém o nome de um segredo contendo o Prometheus. nome de usuário e senha

true

serviceDiscovery

enum

ServiceDiscovery para ser usado por Prometheus. enumeração: arquivo, http

true

PrometheusCredentialsSecretRef detém o nome de um segredo contendo o Prometheus. nome de usuário e senha

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

O Slack contém os campos de configuração para a integração do Slack.

Name
Tipo
Descrição
Obrigatório

apiTokenSecretRef

objeto

APITokenSecretRef contém o nome de um segredo que contém o token Slack API.

true

channelName

string

ChannelName para ser usado por Prometheus.

true

teamName

string

TeamName sinaliza se a integração do Prometheus está habilitada.

true

APITokenSecretRef contém o nome de um segredo que contém o token da API do Slack.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

VictorOps contém os campos de configuração para Integração do VictorOps.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef é o nome de um segredo que contém a chave Victor Ops API.

true

routingKey

string

RoutingKey contém a chave de roteamento VictorOps.

true

APIKeySecretRef é o nome de um segredo que contém a chave API Victor Ops.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

Webhook contém os campos de configuração para integração do webhook.

Name
Tipo
Descrição
Obrigatório

urlSecretRef

objeto

URLSecretRef contém o nome de um segredo que contém o webhook URL e o segredo.

true

URLSecretRef contém o nome de um segredo que contém o URL e o segredo do webhook.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

AtlasThirdPartyIntegrationStatus mantém o status de uma integração

Name
Tipo
Descrição
Obrigatório

conditions

[] objeto

Condições que contêm os detalhes de status

false

id

string

ID do recurso de integração de terceiros no Atlas

false

A condição contém detalhes para um aspecto do estado atual deste recurso API.

Name
Tipo
Descrição
Obrigatório

lastTransitionTime

string

lastTransitionTime é a última vez que a condição fez a transição de um status para outro. Deve ser quando a condição subjacente mudou. Se isso não for conhecido, é aceitável usar a hora em que o campo API foi alterado. Formato: data/hora

true

message

string

a mensagem é um message legível por humanos que indica detalhes sobre a transição. Esta pode ser uma string vazia.

true

reason

string

contém um identificador programático que indica o reason para a última transição da condição. Fornecedores de tipos de condições específicas podem definir valores esperados e significados para esse campo e se os valores são considerados uma garantia API. O valor deve ser uma string CamelCase. Este campo pode não estar vazio.

true

status

enum

o status da condição, um de verdadeiro, falso, desconhecido. enumeração: verdadeiro, falso, desconhecido

true

type

string

tipo de condição em CamelCase ou emfoo. por exemplo.com/CamelCase.

true

observedGeneration

inteiro

observedGeneration representa o .metadados.geração em que a condição foi definida com base em. Por exemplo, se .metadados.generation estiver atualmente 12, mas .status.conditions[x].``observedGeneration`` estiver 9, a condição está desatualizada em relação ao estado atual da instância. Formato: int64 Mínimo: 0

false

Voltar

AtlasStreamWorkspace

Nesta página