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 is the Schema for the atlas 3rd party integrations API.

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 contains the expected configuration for an integration Validations:

  • (has(auto.``externalProjectRef``) && !has(auto.``projectRef``)) || (!has(auto.''externalProjectRef'') && has(auto.''projectRef'')): deve definir somente 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(self.type) && self.type.size() != 0: must define a type of integration

  • !has(self.datadog) || (self.type == 'DATADOG' && has(self.datadog)): only DATADOG type may set datadog fields

  • !has(self.``microsoftTeams``) || (self.type == 'MICROSOFT_TEAMS' && has(self.``microsoftTeams``)): only MICROSOFT_TEAMS type may set microsoftTeams fields

  • !has(self.``newRelic``) || (self.type == 'NEW_RELIC' && has(self.``newRelic``)): only NEW_RELIC type may set newRelic fields

  • !has(self.``opsGenie``) || (self.type == 'OPS_GENIE' && has(self.``opsGenie``)): only OPS_GENIE type may set opsGenie fields

  • !has(self.prometheus) || (self.type == 'PROMETHEUS' && has(self.prometheus)): only PROMETHEUS type may set prometheus fields

  • !has(self.``pagerDuty``) || (self.type == 'PAGER_DUTY' && has(self.``pagerDuty``)): only PAGER_DUTY type may set pagerDuty fields

  • !has(self.slack) || (self.type == 'SLACK' && has(self.slack)): only SLACK type may set slack fields

  • !has(self.``victorOps``) || (self.type == 'VICTOR_OPS' && has(self.``victorOps``)): only VICTOR_OPS type may set victorOps fields

  • !has(self.webhook) || (self.type == 'WEBHOOK' && has(self.webhook)): only WEBHOOK type may set webhook fields

false

status

objeto

AtlasThirdPartyIntegrationStatus holds the status of an integration

false

AtlasThirdPartyIntegrationSpec contains the expected configuration for an integration

Name
Tipo
Descrição
Obrigatório

type

enum

Type of the integration. Enum: 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

Datadog contains the config fields for Datadog's Integration.

false

externalProjectRef

objeto

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

false

microsoftTeams

objeto

MicrosoftTeams contains the config fields for Microsoft Teams's Integration.

false

newRelic

objeto

NewRelic contains the config fields for New Relic's Integration.

false

opsGenie

objeto

OpsGenie contains the config fields for Ops Genie's Integration.

false

pagerDuty

objeto

PagerDuty contains the config fields for PagerDuty's Integration.

false

projectRef

objeto

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

false

prometheus

objeto

Prometheus contains the config fields for Prometheus's Integration.

false

slack

objeto

Slack contains the config fields for Slack's Integration.

false

victorOps

objeto

VictorOps contains the config fields for VictorOps's Integration.

false

webhook

objeto

Webhook contains the config fields for Webhook's Integration.

false

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

Datadog contains the config fields for Datadog's Integration.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef holds the name of a secret containing the Datadog API key.

true

region

string

Region is the Datadog region

true

sendCollectionLatencyMetrics

enum

SendCollectionLatencyMetrics toggles sending collection latency metrics. Enum: enabled, disabled Default: disabled

false

sendDatabaseMetrics

enum

SendDatabaseMetrics toggles sending database metrics, including database and collection names Enum: enabled, disabled Default: disabled

false

APIKeySecretRef holds the name of a secret containing the Datadog API key.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

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

Name
Tipo
Descrição
Obrigatório

id

string

ID é o projeto Atlas ID.

true

MicrosoftTeams contains the config fields for Microsoft Teams's Integration.

Name
Tipo
Descrição
Obrigatório

urlSecretRef

objeto

URLSecretRef holds the name of a secret containing the Microsoft Teams secret URL.

true

URLSecretRef holds the name of a secret containing the Microsoft Teams secret URL.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

NewRelic contains the config fields for New Relic's Integration.

Name
Tipo
Descrição
Obrigatório

credentialsSecretRef

objeto

CredentialsSecretRef holds the name of a secret containing new relic's credentials: account id, license key, read and write tokens.

true

CredentialsSecretRef holds the name of a secret containing new relic's credentials: account id, license key, read and write tokens.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

OpsGenie contains the config fields for Ops Genie's Integration.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef holds the name of a secret containing Ops Genie's API key.

true

region

string

Region is the Ops Genie region.

true

APIKeySecretRef holds the name of a secret containing Ops Genie's API key.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

PagerDuty contains the config fields for PagerDuty's Integration.

Name
Tipo
Descrição
Obrigatório

region

string

Region is the Pager Duty region.

true

serviceKeySecretRef

objeto

ServiceKeySecretRef holds the name of a secret containing Pager Duty service key.

true

ServiceKeySecretRef holds the name of a secret containing Pager Duty service key.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-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 contains the config fields for Prometheus's Integration.

Name
Tipo
Descrição
Obrigatório

enabled

string

Enabled is true when Prometheus integration is enabled.

true

prometheusCredentialsSecretRef

objeto

PrometheusCredentialsSecretRef holds the name of a secret containing the Prometheus. username & password

true

serviceDiscovery

enum

ServiceDiscovery to be used by Prometheus. Enum: file, http

true

PrometheusCredentialsSecretRef holds the name of a secret containing the Prometheus. username & password

Name
Tipo
Descrição
Obrigatório

name

string

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

true

Slack contains the config fields for Slack's Integration.

Name
Tipo
Descrição
Obrigatório

apiTokenSecretRef

objeto

APITokenSecretRef holds the name of a secret containing the Slack API token.

true

channelName

string

ChannelName to be used by Prometheus.

true

teamName

string

TeamName flags whether Prometheus integration is enabled.

true

APITokenSecretRef holds the name of a secret containing the Slack API token.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

VictorOps contains the config fields for VictorOps's Integration.

Name
Tipo
Descrição
Obrigatório

apiKeySecretRef

objeto

APIKeySecretRef is the name of a secret containing Victor Ops API key.

true

routingKey

string

RoutingKey holds VictorOps routing key.

true

APIKeySecretRef is the name of a secret containing Victor Ops API key.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

Webhook contains the config fields for Webhook's Integration.

Name
Tipo
Descrição
Obrigatório

urlSecretRef

objeto

URLSecretRef holds the name of a secret containing Webhook URL and secret.

true

URLSecretRef holds the name of a secret containing Webhook URL and secret.

Name
Tipo
Descrição
Obrigatório

name

string

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

true

AtlasThirdPartyIntegrationStatus holds the status of an integration

Name
Tipo
Descrição
Obrigatório

conditions

[] objeto

Conditions holding the status details

false

id

string

ID of the third party integration resource in Atlas

false

Condition contains details for one aspect of the current state of this API Resource.

Name
Tipo
Descrição
Obrigatório

lastTransitionTime

string

lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time

true

message

string

message is a human readable message indicating details about the transition. This may be an empty string.

true

reason

string

reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

true

status

enum

status of the condition, one of True, False, Unknown. Enum: True, False, Unknown

true

type

string

type of condition in CamelCase or in foo.example.com/CamelCase.

true

observedGeneration

inteiro

observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].``observedGeneration`` is 9, the condition is out of date with respect to the current state of the instance. Format: int64 Minimum: 0

false

Voltar

AtlasStreamWorkspace

Nesta página