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
AtlasProjectRecurso 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 personalizadoAtlasDeployment, 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.
Exemplos
Exemplo básico
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
Exemplo de CRD independente
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
Parâmetros
AtlasThirdPartyIntegration
AtlasThirdPartyIntegration is the Schema for the atlas 3rd party integrations API.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| objeto | Consulte a documentação do Kubernetes | true |
| objeto |
| false |
| objeto |
| false |
AtlasThirdPartyIntegration.spec
AtlasThirdPartyIntegrationSpec contains the expected configuration for an integration
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| enum | Type of the integration. Enum: | true |
| objeto | Nome do segredo contendo as chaves privada e pública do Atlas | false |
| objeto | Datadog contains the config fields for Datadog's Integration. | false |
| objeto |
| false |
| objeto |
| false |
| objeto |
| false |
| objeto |
| false |
| objeto |
| false |
| objeto |
| false |
| objeto | Prometheus contains the config fields for Prometheus's Integration. | false |
| objeto | Slack contains the config fields for Slack's Integration. | false |
| objeto |
| false |
| objeto | Webhook contains the config fields for Webhook's Integration. | false |
AtlasThirdPartyIntegration.spec.connectionSecret
Nome do segredo que contém as chaves privadas e públicas da Atlas API.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.datadog
Datadog contains the config fields for Datadog's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | APIKeySecretRef holds the name of a secret containing the Datadog | true |
| string | Region is the Datadog region | true |
| enum |
| false |
| enum |
| false |
AtlasThirdPartyIntegration.spec.datadog.apiKeySecretRef
APIKeySecretRef holds the name of a secret containing the Datadog API key.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.externalProjectRef
externalProjectRef contém o ID do projeto pai do Atlas . Mutualmente exclusivo com o campo"projectRef".
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
AtlasThirdPartyIntegration.spec.microsoftTeams
MicrosoftTeams contains the config fields for Microsoft Teams's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | URLSecretRef holds the name of a secret containing the Microsoft Teams secret | true |
AtlasThirdPartyIntegration.spec.microsoftTeams.urlSecretRef
URLSecretRef holds the name of a secret containing the Microsoft Teams secret URL.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.newRelic
NewRelic contains the config fields for New Relic's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto |
| true |
AtlasThirdPartyIntegration.spec.newRelic.credentialsSecretRef
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 |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.opsGenie
OpsGenie contains the config fields for Ops Genie's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | APIKeySecretRef holds the name of a secret containing Ops Genie's | true |
| string | Region is the Ops Genie region. | true |
AtlasThirdPartyIntegration.spec.opsGenie.apiKeySecretRef
APIKeySecretRef holds the name of a secret containing Ops Genie's API key.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.pagerDuty
PagerDuty contains the config fields for PagerDuty's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Region is the Pager Duty region. | true |
| objeto |
| true |
AtlasThirdPartyIntegration.spec.pagerDuty.serviceKeySecretRef
ServiceKeySecretRef holds the name of a secret containing Pager Duty service key.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.projectRef
projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do Recurso Kubernetes | true |
| string | Namespace do Recurso Kubernetes | false |
AtlasThirdPartyIntegration.spec.prometheus
Prometheus contains the config fields for Prometheus's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Enabled is true when Prometheus integration is enabled. | true |
| objeto |
| true |
| enum |
| true |
AtlasThirdPartyIntegration.spec.prometheus.prometheusCredentialsSecretRef
PrometheusCredentialsSecretRef holds the name of a secret containing the Prometheus. username & password
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.slack
Slack contains the config fields for Slack's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | APITokenSecretRef holds the name of a secret containing the Slack | true |
| string |
| true |
| string |
| true |
AtlasThirdPartyIntegration.spec.slack.apiTokenSecretRef
APITokenSecretRef holds the name of a secret containing the Slack API token.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.victorOps
VictorOps contains the config fields for VictorOps's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | APIKeySecretRef is the name of a secret containing Victor Ops | true |
| string |
| true |
AtlasThirdPartyIntegration.spec.victorOps.apiKeySecretRef
APIKeySecretRef is the name of a secret containing Victor Ops API key.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.spec.webhook
Webhook contains the config fields for Webhook's Integration.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | URLSecretRef holds the name of a secret containing Webhook | true |
AtlasThirdPartyIntegration.spec.webhook.urlSecretRef
URLSecretRef holds the name of a secret containing Webhook URL and secret.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/work-with-objects/names/#names | true |
AtlasThirdPartyIntegration.status
AtlasThirdPartyIntegrationStatus holds the status of an integration
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Conditions holding the status details | false |
| string |
| false |
AtlasThirdPartyIntegration.status.conditions
Condition contains details for one aspect of the current state of this API Resource.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
| string | message is a human readable | true |
| string | reason contains a programmatic identifier indicating the | true |
| enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| string | type of condition in | true |
| inteiro |
| false |