MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs 菜单
Docs 主页
/ /
/ / /

AtlasThirdPartyIntegration 自定义资源

AtlasThirdPartyIntegration 自定义资源在Atlas项目中配置第三方集成。这些资源允许您管理 第三方与各种监控服务的集成,以收集和分析Atlas部署的性能。

重要

自定义资源不再默认删除对象

  • Atlas Kubernetes Operator使用 自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。 AtlasProject示例,如果您在Kubernetes中删除 自定义资源,默认默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。 要学习;了解详情,包括如何将此行为恢复为Atlas Kubernetes Operator2 0之前使用的默认行为,请参阅新的默认值: Atlas Kubernetes Operator2 中的删除保护。0 。

    同样,如果您使用Atlas Kubernetes Operator从Kubernetes中的Atlas项目中删除团队,则Atlas Kubernetes Operator不会从Atlas中删除团队。

  • 显式定义所需的配置详细信息,以避免隐式使用默认Atlas配置值。 在某些情况下,继承Atlas默认值可能会导致协调循环,从而阻止自定义资源实现 READY 状态。 示例,在 AtlasDeployment 自定义资源中显式定义所需的自动伸缩行为(如所包含的示例所示)可确保自定义资源中的静态实例大小不会重复应用于已启用自动伸缩的Atlas部署。

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

Atlas Kubernetes Operator使用Atlas 第三方服务集成API资源执行以下操作之一:

  • 创建新的第三方服务集成。

  • 更新现有的第三方服务集成。

以下示例显示了一个 AtlasThirdPartyIntegration 自定义资源,该资源在 my-project项目中定义了 DataDog 集成。

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

以下示例显示了一个AtlasThirdPartyIntegration 独立的 CRD,它定义了基本示例中定义的相同 DataDog 集成。通过此自定义资源定义,您可以在某个项目中创建此第三方集成,而该项目并非在您定义此资源的同一Atlas Kubernetes Operator实例中管理。要启用独立操作,必须使用 externalProjectRef 而不是 projectRef,并且必须直接提供 connectionSecret,因为此资源无法从其父项目继承API凭证。

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 是 Atlas 3第三方集成API的模式。

Name
类型
说明
必需

apiVersion

字符串

atlas.mongodb.com/v1

true

kind

字符串

AtlasThirdPartyIntegration

true

metadata

对象

有关 metadata字段的字段,请参阅Kubernetes API 文档。

true

spec

对象

AtlasThirdPartyIntegrationSpec 包含集成的预期配置。

  • (has(self.``externalProjectRef``) && !has(self.``projectRef``)) || (!has(self.``externalProjectRef``) && has(self.``projectRef``)):必须通过 externalProjectRefprojectRef 仅定义一个项目引用

  • (has(self.``externalProjectRef``) && has(self.``connectionSecret``)) || !has(self.``externalProjectRef``):引用外部项目时必须定义本地连接密钥

  • has(self.type) && self.type.size() != 0:必须定义集成类型

  • !has(self.datadog) || (self.type == 'DATADOG' && has(self.datadog)): 只有 DATADOG 类型可以设立datadog 字段

  • !has(self.``microsoftTeams``) || (self.type == 'MICROSOFT_TEAMS' && has(self.``microsoftTeams``)):只有 MICROSOFT_TEAMS 类型可以设立microsoftTeams 字段

  • !has(self.``newRelic``) || (self.type == 'NEW_RELIC' && has(self.``newRelic``)): 只有 NEW_RELIC 类型可以设立newRelic 字段

  • !has(self.``opsGenie``) || (self.type == 'OPS_GENIE' && has(self.``opsGenie``)): 只有 OPS_GENIE 类型可以设立opsGenie 字段

  • !has(self.prometheus) || (self.type == 'PROMETHEUS' && has(self.prometheus)): 只有 PROMETHEUS 类型可以设立prometheus 字段

  • !has(self.``pagerDuty``) || (self.type == 'PAGER_DUTY' && has(self.``pagerDuty``)): 只有 PAGER_DUTY 类型可以设立pagerDuty 字段

  • !has(self.slack) || (self.type == 'SLACK' && has(self.slack)): 只有 SLACK 类型可以设立Slack 字段

  • !has(self.``victorOps``) || (self.type == 'VICTOR_OPS' && has(self.``victorOps``)): 只有 VICTOR_OPS 类型可以设立victorOps 字段

  • !has(self.webhook) || (self.type == 'WEBHOOK' && has(self.webhook)): 只有 WEBHOOK 类型可以设立webhook 字段

false

status

对象

AtlasThirdPartyIntegrationStatus 包含集成的 status

false

AtlasThirdPartyIntegrationSpec 包含集成的预期配置

Name
类型
说明
必需

type

枚举

集成的类型。枚举: DATADOGMICROSOFT_TEAMSNEW_RELICOPS_GENIEPAGER_DUTYPROMETHEUSSLACKVICTOR_OPSWEBHOOK

true

connectionSecret

对象

包含Atlas API 私钥和公钥的密钥名称。

false

datadog

对象

Datadog 包含 Datadog 集成的配置字段。

false

externalProjectRef

对象

externalProjectRef 包含父Atlas项目ID。与“projectRef”字段互斥。

false

microsoftTeams

对象

MicrosoftTeams 包含Microsoft Teams 集成的配置字段。

false

newRelic

对象

NewRelic 包含 New Relic 集成的配置字段。

false

opsGenie

对象

OpsGenie 包含 Ops Genie 集成的配置字段。

false

pagerDuty

对象

PagerDuty 包含 PagerDuty 集成的配置字段。

false

projectRef

对象

projectRef 是对父 AtlasProject资源的引用。与“externalProjectRef”字段互斥。

false

prometheus

对象

Prometheus 包含 Prometheus 集成的配置字段。

false

slack

对象

Slack包含 Slack 集成的配置字段。

false

victorOps

对象

VictorOps 包含 VictorOps 集成的配置字段。

false

webhook

对象

Webhook 包含 Webhook 集成的配置字段。

false

包含Atlas API私钥和公钥的密钥名称。

Datadog 包含 Datadog 集成的配置字段。

Name
类型
说明
必需

apiKeySecretRef

对象

APIKeySecretRef 保存包含 Datadog API 密钥的密钥名称。

true

region

字符串

地区是 Datadog地区

true

sendCollectionLatencyMetrics

枚举

SendCollectionLatencyMetrics 切换发送集合延迟指标。枚举:启用、禁用 默认值:禁用

false

sendDatabaseMetrics

枚举

SendDatabaseMetrics 切换发送数据库指标,包括数据库和集合名称枚举:启用、禁用默认值:禁用

false

APIKeySecretRef 保存包含 Datadog API密钥的密钥名称。

externalProjectRef 保存父Atlas项目ID。与 "projectRef"字段互斥。

Name
类型
说明
必需

id

字符串

ID 是Atlas项目ID

true

MicrosoftTeams 包含Microsoft Teams 集成的配置字段。

Name
类型
说明
必需

urlSecretRef

对象

URLSecretRef 保存包含Microsoft Teams 密钥 URL 的密钥的名称。

true

URLSecretRef 保存包含Microsoft Teams 密钥URL 的密钥名称。

NewRelic 包含 New Relic 集成的配置字段。

Name
类型
说明
必需

credentialsSecretRef

对象

CredentialsSecretRef 包含包含新遗物凭证的密钥名称:帐户 ID、许可证密钥、读取和写入令牌。

true

CredentialsSecretRef 保存的密钥名称包含新 Relic 的凭证:帐户 ID、许可证密钥、读取和写入令牌。

OpsGenie 包含 Ops Genie 集成的配置字段。

Name
类型
说明
必需

apiKeySecretRef

对象

APIKeySecretRef 保存的密钥包含 Ops Genie 的 API 密钥。

true

region

字符串

区域是 Ops Genie地区。

true

APIKeySecretRef 保存包含 Ops Genie 的API密钥的密钥的名称。

PagerDuty 包含 PagerDuty 集成的配置字段。

Name
类型
说明
必需

region

字符串

区域是寻呼机占空比地区。

true

serviceKeySecretRef

对象

ServiceKeySecretRef 保存包含寻呼机值班服务密钥的密钥的名称。

true

ServiceKeySecretRef 保存包含寻呼机值班服务密钥的密钥的名称。

projectRef 是对父 AtlasProject资源的引用。与 "externalProjectRef"字段互斥。

Name
类型
说明
必需

name

字符串

Kubernetes资源名称

true

namespace

字符串

Kubernetes资源的命名空间

false

Prometheus 包含 Prometheus 集成的配置字段。

Name
类型
说明
必需

enabled

字符串

启用 Prometheus 集成后,Enabled 为 true。

true

prometheusCredentialsSecretRef

对象

PrometheusCredentialsSecretRef 包含包含 Prometheus 的密钥的名称。用户名和密码

true

serviceDiscovery

枚举

ServiceDiscovery 由 Prometheus 使用。枚举: 文件, http

true

PrometheusCredentialsSecretRef 保存包含 Prometheus 的密钥的名称。用户名和密码

Slack包含 Slack 集成的配置字段。

Name
类型
说明
必需

apiTokenSecretRef

对象

APITokenSecretRef 保存包含Slack API 令牌的密钥的名称。

true

channelName

字符串

ChannelName 由 Prometheus 使用。

true

teamName

字符串

TeamName 标记是否启用了 Prometheus 集成。

true

APITokenSecretRef 保存包含Slack API令牌的密钥的名称。

VictorOps 包含 VictorOps 集成的配置字段。

Name
类型
说明
必需

apiKeySecretRef

对象

APIKeySecretRef 是包含 Victor Ops API 密钥的密钥的名称。

true

routingKey

字符串

RoutingKey 持有 VictorOps 路由键。

true

APIKeySecretRef 是包含 Victor Ops API密钥的密钥的名称。

Webhook 包含 Webhook 集成的配置字段。

Name
类型
说明
必需

urlSecretRef

对象

URLSecretRef 包含包含 Webhook URL 和密钥的密钥名称。

true

URLSecretRef 保存包含 Webhook URL和密钥的密钥名称。

AtlasThirdPartyIntegrationStatus 保存着集成的状态

Name
类型
说明
必需

conditions

[]对象

包含状态详细信息的条件

false

id

字符串

ID Atlas中第三方集成资源的数量

false

条件包含此API资源当前状态的某个方面的详细信息。

Name
类型
说明
必需

lastTransitionTime

字符串

lastTransitionTime 是条件最后一次从一种状态转换到另一种状态的时间。这应该是根本的条件发生变化的时间。如果未知,则可以使用API 字段更改的时间。格式:日期-时间

true

message

字符串

消息是人类可读的 message,指示有关转换的详细信息。这可能是空字符串。

true

reason

字符串

Reason 包含一个编程标识符,指示条件上次转换的 reason。特定条件类型的生成者可以定义该字段的预期值和含义,以及这些值是否被视为有保证的 API。该值应为 CamelCase 字符串。此字段不能为空。

true

status

枚举

条件的状态,为 True、False、未知之一。枚举:True、False、Unknown

true

type

字符串

CamelCase 或 foo 中的条件类型。示例.com/CamelCase

true

observedGeneration

整型

observedGeneration 代表。设立条件所依据的元数据.Generation。实例,如果。元数据.Generation12 当前为 ,但 .status.conditions[x].``observedGeneration`` 为9 ,该条件相对于实例的当前状态已过时。格式:int64 最小值:0

false

后退

AtlasStreamWorkspace

在此页面上