AtlasProject
自定义资源
AtlasProject
自定义资源在 Atlas 中配置项目。 当您创建AtlasProject
资源时,Atlas Kubernetes Operator 会尝试在 Atlas 中创建新项目。
重要
自定义资源不再默认删除对象
Atlas Kubernetes Operator使用 自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。示例,如果您在Kubernetes中删除
AtlasProject
自定义资源,则默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。要学习;了解详情,包括如何将此行为恢复为Atlas Kubernetes Operator2 之前使用的默认行为。0 ,请参阅新默认值: Atlas Kubernetes Operator中的删除保护2 。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 Kubernetes Operator 会验证是否存在具有
spec.name
的项目。如果项目存在,Atlas Kubernetes Operator 会跳过创建过程。协调后,Atlas Kubernetes Operator 使用项目的 ID 更新status.id
字段。
您可以使用spec.connectionSecretRef.name
参数设置连接 密钥 用于AtlasProject
自定义资源。此参数会覆盖默认的global
连接 密钥 。
默认情况下,Atlas Kubernetes Operator 将连接密钥保存在同一 命名空间 中AtlasProject
作为 自定义资源 。将密钥存储在另一个 命名空间 中 ,指定spec.connectionSecretRef.namespace
参数。
要 连接 到 Atlas Administration API,Atlas Kubernetes Operator 会从 Atlas Kubernetes Operator 密钥 中读取组织 ID 和 API 密钥 。
您还可以编辑AtlasProject
自定义资源规范来配置以下选项:
带有 参数的 IP
spec.projectIpAccessList
访问列表 。此 IP 访问列表向项目中的 Atlas 集群授予网络访问权限。与{
spec.teams
参数进行组合。 团队允许您为特定项目的整个 Atlas 用户群组授予访问角色。使用 参数的
spec.maintenanceWindow
维护窗口 。维护窗口设置 Atlas 开始对数据库部署进行每周维护的时间和日期。使用 参数的
spec.networkPeers
网络对等互连 。网络对等互连允许您安全地连接到 Amazon Web Services 、 Azure或GCP VPC 。使用客户管理的密钥和
spec.encryptionAtRest
参数进行静态加密。 通过使用客户管理的密钥进行静态加密,您可以将云提供商的KMS与MongoDB加密storage engine结合使用,从而增加额外的安全层。带有 参数的
spec.privateEndpoints
私有端点 。使用
spec.settings
参数的项目设置,包括启用和禁用以下功能的设置:收集集群指标中的数据库统计信息
使用
spec.alertConfigurationSyncEnabled
和spec.alertConfigurations
参数的 项目警报配置 。有关这些设置如何交互的信息,请参阅注意事项。
如果您从 Kubernetes 集群中删除AtlasProject
资源,Atlas Kubernetes Operator 将从 Atlas 中删除该项目。您必须事先删除项目中的所有集群。 否则,Atlas 会拒绝删除请求。
例子
以下示例显示了AtlasProject
自定义资源规范:
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test project connectionSecretRef: name: my-atlas-key projectIpAccessList: - cidrBlock: "203.0.113.0/24" comment: "CIDR block for Application Server B - D"
Prometheus 示例
以下示例显示了与 Prometheus 集成的AtlasProject
自定义资源规范:
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: TestPrometheusIntegration connectionSecretRef: name: my-atlas-key projectIpAccessList: - cidrBlock: "0.0.0.0/1" comment: "Everyone has access. For test purposes only." - cidrBlock: "128.0.0.0/1" comment: "Everyone has access. For test purposes only." integrations: - type: "PROMETHEUS" enabled: "true" username: "prometheus-user" passwordRef: name: "password-name" namespace: "password-namespace" scheme: "http" serviceDiscovery: "http"
要了解更多信息,请参阅与第三方服务集成。
注意
Atlas Kubernetes Operator 提供 示例 Grafana 仪表盘 您可以 将其导入到 Grafana 。
团队示例
以下示例显示了一个AtlasProject
自定义资源规范,该规范为green-leaf-team
赋予了此项目的Organization Owner
角色。 团队成员在AtlasTeam 自定义资源中定义。
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test project teams: - teamRef: name: green-leaf-team roles: - ORGANIZATION_OWNER
要了解详情,请参阅配置团队。
维护窗口示例
以下示例显示了一个AtlasProject
自定义资源规范,该规范将维护窗口设置为每周二上午 5:00,并禁用自动延迟:
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test project projectIpAccessList: - ipAddress: "192.0.2.15" comment: "IP address for Application Server A" maintenanceWindow: dayOfWeek: 3 hourOfDay: 5 autoDefer: false
项目设置示例
以下示例显示了 AtlasProject
自定义资源规范,该规范禁用集群指标、数据浏览器、 Performance Advisor 、实时性能面板和模式优化顾问中的数据库统计信息集合。
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test project projectIpAccessList: - ipAddress: "192.0.2.15" comment: "IP address for Application Server A" settings: isCollectDatabaseSpecificsStatisticsEnabled: false isDataExplorerEnabled: false isExtendedStorageSizesEnabled: false isPerformanceAdvisorEnabled: false isRealtimePerformancePanelEnabled: false isSchemaAdvisorEnabled: false
警报配置示例
以下示例显示了一个AtlasProject
自定义资源规范,该规范配置了一个警报,该警报在 oplog 窗口达到少于一小时时触发:
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test Atlas Operator Project connectionSecretRef: name: my-atlas-key alertConfigurations: - eventTypeName: "REPLICATION_OPLOG_WINDOW_RUNNING_OUT", enabled: true, notifications: - delayMin: 0 emailEnabled: true intervalMin: 60 roles: [ "GROUP_OWNER" ] smsEnabled: false typeName: "GROUP" threshold: operator: "LESS_THAN", threshold: "1", units: "HOURS" alertConfigurationSyncEnabled: true withDefaultAlertsSettings: false
第三方警报配置示例
以下示例显示了一个AtlasProject
自定义资源规范,该规范配置了通过 Slack 发送通知的警报:
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: Test Atlas Operator Project connectionSecretRef: name: my-atlas-key alertConfigurations: - eventTypeName: "REPLICATION_OPLOG_WINDOW_RUNNING_OUT", enabled: true, notifications: - delayMin: 0 emailEnabled: true intervalMin: 60 roles: [ "GROUP_OWNER" ] smsEnabled: false - typeName: "SLACK" apiTokenRef: name: key-name namespace: key-namespace threshold: operator: "LESS_THAN", threshold: "1", units: "HOURS" alertConfigurationSyncEnabled: true withDefaultAlertsSettings: false
参数
本部分介绍了AtlasProject
自定义资源参数:
spec.alertConfigurations
类型:对象数组
Optional
包含此项目的警报配置的列表。
如果使用此设置,还必须将
spec.alertConfigurationSyncEnabled
设置为true
,Atlas Kubernetes Operator 才能修改项目警报配置。如果您省略此设置或将其留空,则 Atlas Kubernetes Operator 不会更改项目的警报配置。创建项目时,Atlas 会应用默认项目警报配置。
spec.alertConfigurations.eventTypeName
类型:字符串
必需
Atlas Triggers此警报配置描述的警报的事件。
要了解 Atlas Kubernetes Operator 接受的值,请参阅 MongoDB Atlas Administration API 文档中“在一个项目中创建一个警报配置”端点的请求正文模式。
spec.alertConfigurations.matchers
类型:对象数组
可选的
确定 Atlas 是否检查对象是否有警报配置的规则列表。 如果
spec.alertConfigurations.eventTypeName
指定了主机、副本集或分片集群的事件,则可以使用匹配器数组进行筛选。
spec.alertConfigurations.matchers.fieldName
类型:字符串
可选的
人类可读标签,用于标识 Atlas 检查的目标对象中的参数。 该参数必须匹配 Atlas 的所有规则,以检查警报配置。
Atlas Kubernetes Operator 接受以下值:
CLUSTER_NAME
HOSTNAME
HOSTNAME_AND_PORT
PORT
REPLICA_SET_NAME
SHARD_NAME
TYPE_NAME
如果您在
spec.alertConfigurations.matchers
数组中包含对象,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.matchers.operator
类型:字符串
可选的
在对照
spec.alertConfigurations.matchers.value
检查当前指标值时应用的比较操作符。Atlas Kubernetes Operator 接受以下值:
EQUALS
CONTAINS
STARTS_WITH
ENDS_WITH
NOT_EQUALS
NOT_CONTAINS
REGEX
如果您在
spec.alertConfigurations.matchers
数组中包含对象,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.matchers.value
类型:字符串
可选的
使用指定的
spec.alertConfigurations.matchers.operator
匹配或超过的值。如果您在
spec.alertConfigurations.matchers
数组中包含对象,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.metricThreshold
类型:对象
可选的
指标的阈值,超过该阈值时会Atlas Triggers警报。
当
spec.alertConfigurations.eventTypeName
为OUTSIDE_METRIC_THRESHOLD
时,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.metricThreshold.metricName
类型:字符串
可选的
人类可读标签,用于标识 Atlas 检查配置的
spec.alertConfigurations.metricThreshold.threshold
所依据的指标。要了解 Atlas Kubernetes Operator 接受的值,请参阅 MongoDB Atlas Administration API 文档中“在一个项目中创建一个警报配置”端点的请求正文模式。
如果包含
spec.alertConfigurations.metricThreshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.metricThreshold.mode
类型:字符串
Optional
默认值:
AVERAGE
Atlas 会将当前指标值计算为平均值。
Atlas Kubernetes Operator 仅接受
AVERAGE
值。
spec.alertConfigurations.metricThreshold.operator
类型:字符串
可选的
检查当前指标值时要应用的比较操作符。
Atlas Kubernetes Operator 接受以下值:
GREATER_THAN
LESS_THAN
如果包含
spec.alertConfigurations.metricThreshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.metricThreshold.threshold
类型:整数
可选的
超过该值时会Atlas Triggers警报的指标值。
如果包含
spec.alertConfigurations.metricThreshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.metricThreshold.units
类型:字符串
可选的
用于Express数量的元素。该值可以是时间、存储容量等元素
Atlas Kubernetes Operator 接受以下值:
BITS
BYTES
DAYS
GIGABITS
GIGABYTES
HOURS
KILOBITS
KILOBYTES
MEGABITS
MEGABYTES
MILLISECONDS
MINUTES
PETABYTES
RAW
SECONDS
TERABYTES
如果包含
spec.alertConfigurations.metricThreshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications
类型:数组
可选的
列表,描述 Atlas 为此警报配置描述的警报发送的通知。
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Slack 的 API 令牌。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials 如果您希望通过 Slack 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.apiTokenRef.namespace
类型:字符串
可选的
包含 Slack 的 API 令牌的命名空间。 如果您希望通过 Slack 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.channelName
类型:字符串
可选的
人类可读标签,用于标识 Atlas 向其发送警报通知的 Slack 渠道。
当您将
spec.alertConfigurations.notifications.typeName
设置为SLACK
时,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.datadogApiKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Datadog 的 API 密钥。如果您希望通过 Datadog 收到通知,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.alertConfigurations.notifications.datadogApiKeyRef.namespace
类型:字符串
可选的
包含 Datadog API 密钥的命名空间。 如果您希望通过 Datadog 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.datadogRegion
类型:字符串
Optional
默认值:
US
指示要使用的 API 统一资源定位器 (URL) 的 Datadog 地区。
Atlas Kubernetes Operator 接受以下值:
US
EU
spec.alertConfigurations.notifications.emailAddress
类型:字符串
可选的
Atlas 发送警报通知的电子邮件地址。
如果您将
spec.alertConfigurations.notifications.typeName
设置为EMAIL
,则 Atlas Kubernetes Operator 需要此设置。当您将
spec.alertConfigurations.notifications.typeName
设置为以下值之一时,Atlas Kubernetes Operator 不需要此设置来发送电子邮件通知:GROUP
ORG
TEAM
USERS
要向一个Atlas user或一组用户发送电子邮件,请设置
spec.alertConfigurations.notifications.emailEnabled
参数。
spec.alertConfigurations.notifications.emailEnabled
类型:布尔值
可选的
指示 Atlas 是否发送电子邮件通知的标志。
当您将
spec.alertConfigurations.notifications.typeName
设置为以下值之一时,Atlas Kubernetes Operator 需要此设置:GROUP
ORG
TEAM
spec.alertConfigurations.notifications.intervalMin
类型:整数
Optional
连续通知之间的等待分钟数。 Atlas 会发送通知,直到有人确认未确认的警报。 Atlas Kubernetes Operator 接受大于或等于
5
的值。PagerDuty、VictorOps 和 OpsGenie 通知不使用此字段。配置和托管每个服务中的通知间隔。
spec.alertConfigurations.notifications.microsoftTeamsWebhookUrl
类型:字符串
可选的
Atlas 通过 Microsoft Teams 发送此通知所需的 Microsoft Teams Webhook 统一资源定位器 (URL)。如果该 URL 随后无效,Atlas 会向项目所有者发送电子邮件。 如果密钥仍然无效,Atlas 会将其删除。
如果您将
spec.alertConfigurations.notifications.typeName
设置为MICROSOFT_TEAMS
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.mobileNumber
类型:字符串
可选的
Atlas 向其发送警报通知的手机号码。
如果您将
spec.alertConfigurations.notifications.typeName
设置为SMS
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.opsGenieApiKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Opsgenie 的 API 密钥。如果您希望通过 Opsgenie 收到通知,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.alertConfigurations.notifications.opsGenieApiKeyRef.namespace
类型:字符串
可选的
包含 Opsgenie API 密钥的命名空间。 如果您希望通过 Opsgenie 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.opsGenieRegion
类型:字符串
Optional
默认值:
US
Opsgenie 地区,用于指示要使用的 API 统一资源定位器 (URL)。
Atlas Kubernetes Operator 接受以下值:
US
EU
如果您将
spec.alertConfigurations.notifications.typeName
设置为OPS_GENIE
,则 Atlas Kubernetes Operator 会应用此设置。
spec.alertConfigurations.notifications.roles
类型:数组
Optional
包含接收配置警报的一个或多个组织或项目角色的列表。 如果包含此参数,则 Atlas 仅向分配有您在列表中指定的角色的用户发送警报。 如果省略此参数,Atlas 则会向分配了任何角色的用户发送警报。
Atlas Kubernetes Operator 接受以下值:
GROUP_CLUSTER_MANAGER
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_OWNER
GROUP_READ_WRITE
ORG_OWNER
ORG_MEMBER
ORG_GROUP_CREATOR
ORG_BILLING_ADMIN
ORG_READ_ONLY
当您将
spec.alertConfigurations.notifications.typeName
设置为以下值之一时,Atlas Kubernetes Operator 会应用此设置:GROUP
ORG
spec.alertConfigurations.notifications.serviceKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 PagerDuty 的 API 密钥。如果您希望通过 PagerDuty 收到通知,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.alertConfigurations.notifications.serviceKeyRef.namespace
类型:字符串
可选的
包含 PagerDuty 的 API 密钥的命名空间。 如果您希望通过 PagerDuty 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.severity
类型:字符串
Optional
此通知的严重程度。
Atlas Kubernetes Operator 接受以下值:
CRITICAL
ERROR
WARNING
spec.alertConfigurations.notifications.smsEnabled
类型:布尔值
可选的
指示 Atlas 是否发送短信通知的标志。
当您将
spec.alertConfigurations.notifications.typeName
设置为以下值之一时,Atlas Kubernetes Operator 需要此设置:GROUP
ORG
TEAM
spec.alertConfigurations.notifications.teamId
类型:字符串
可选的
唯一的 24 位十六进制数字字符串,用于标识一个 Atlas 团队。
如果您将
spec.alertConfigurations.notifications.typeName
设置为TEAM
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.teamName
类型:字符串
可选的
收到此通知的 Atlas 团队的名称。
如果您将
spec.alertConfigurations.notifications.typeName
设置为TEAM
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.typeName
类型:字符串
可选的
显示警报通知类型的人类可读标签。 如果您为
spec.alertConfigurations.notifications
设置指定了值,则需要此设置。 Atlas 支持以下值:DATADOG
EMAIL
OPS-GENIE
ORG
PAGER_DUTY
PROMETHEUS
SLACK
SMS
TEAM
USER
VICTOR_OPS
WEBHOOK
spec.alertConfigurations.notifications.username
类型:字符串
可选的
Atlas 向其发送通知的人员的 Atlas 用户名。仅指定属于拥有警报配置的项目的 Atlas 用户。
如果您将
spec.alertConfigurations.notifications.typeName
设置为USER
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.victorOpsSecretRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Splunk On-Call 的 API 密钥。如果您希望通过 Splunk On-Call 收到通知,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.alertConfigurations.notifications.victorOpsSecretRef.namespace
类型:字符串
可选的
包含 Splunk On-Call 的 API 密钥的命名空间。 如果您希望通过 Splunk On-Call 收到通知,则必须指定此设置。
spec.alertConfigurations.notifications.victorOpsRoutingKey
类型:字符串
可选的
Atlas 向 Splunk On-Call 发送警报通知所需的路由键。 如果密钥后来无效,Atlas 会向项目所有者发送电子邮件。 如果密钥仍然无效,Atlas 会将其删除。
如果您将
spec.alertConfigurations.notifications.typeName
设置为VICTOR_OPS
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.notifications.webhookSecret
类型:字符串
Optional
基于 Webhook 的警报的身份验证密钥。
如果您将
spec.alertConfigurations.notifications.typeName
设置为WEBHOOK
,则 Atlas Kubernetes Operator 会应用此设置。
spec.alertConfigurations.notifications.webhookUrl
类型:字符串
可选的
表示 Webhook URL 的字符串。
如果您将
spec.alertConfigurations.notifications.typeName
设置为WEBHOOK
,则 Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.threshold
类型:对象
可选的
超过限制后会Atlas Triggers警报。
如果您将
spec.alertConfigurations.eventTypeName
设为OUTSIDE_METRIC_THRESHOLD
以外的值,Atlas Kubernetes Operator 会应用此设置。
spec.alertConfigurations.threshold.operator
类型:字符串
可选的
Atlas 检查当前指标值时要应用的比较操作符。
Atlas Kubernetes Operator 接受以下值:
GREATER_THAN
LESS_THAN
如果包含
spec.alertConfigurations.threshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.threshold.threshold
类型:整数
可选的
超过该值时会Atlas Triggers警报的指标值。
如果包含
spec.alertConfigurations.threshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurations.threshold.units
类型:字符串
可选的
表示数量的元素。 您可以指定时间、存储容量等元素。
Atlas Kubernetes Operator 接受以下值:
BITS
BYTES
DAYS
GIGABITS
GIGABYTES
HOURS
KILOBITS
KILOBYTES
MEGABITS
MEGABYTES
MILLISECONDS
MINUTES
PETABYTES
RAW
SECONDS
TERABYTES
如果包含
spec.alertConfigurations.threshold
对象,Atlas Kubernetes Operator 需要此设置。
spec.alertConfigurationSyncEnabled
类型:布尔值
Optional
默认值:
false
指示 Atlas Kubernetes Operator 是否应用
spec.alertConfigurations
中定义的项目警报设置的标志。 如果您省略或将此参数设置为false
,Atlas Kubernetes Operator 不会将项目的警报配置与您在AtlasProject
自定义资源中定义的警报配置同步。有关此设置如何与
spec.withDefaultAlertsSettings
交互的信息,请参阅注意事项。
spec.auditing.auditAuthorizationSuccess
类型:布尔值
Optional
默认值:
false
指示是否指示审核系统使用
"atype" : "authCheck"
审核事件捕获审核筛选器的成功身份验证尝试的标志。 要将此参数设置为true
,必须将spec.auditing.enabled
设置为true
。 要了解更多信息,请参阅auditAuthorizationSuccess。警告:如果启用auditAuthorizationSuccess ,可能会严重影响集群性能。 请谨慎启用此选项。
spec.auditing.auditFilter
类型:字符串
Optional
JSON 格式的审核筛选器。 您可能需要对JSON string进行转义,以删除可能阻止解析的字符,例如单引号或双引号。 要为此设置指定值,必须将
spec.auditing.enabled
设置为true
。要查看审核筛选器示例,请参阅审核筛选器示例。 要了解有关配置 MongoDB 审核筛选器的更多信息,请参阅配置自定义审核筛选器。
spec.auditing.enabled
类型:布尔值
可选的
默认值:
false
指示是否为项目启用审核的标志。 要指定
spec.auditing.auditFilter
的值,或将spec.auditing.auditAuthorizationSuccess
设置为true
,您必须指定此设置。 要了解更多信息,请参阅启用审核日志。
spec.backupCompliancePolicyRef
类型:对象
可选的
包含不透明 密钥 的名称和命名空间的对象
AtlasBackupCompliancePolicy
引用 自定义资源 。如果启用备份合规策略,则必须指定此参数。
spec.backupCompliancePolicyRef.name
类型:字符串
可选的
不透明 密钥 的名称
AtlasBackupCompliancePolicy
引用 自定义资源 。如果启用备份合规策略,则必须指定此参数。
spec.backupCompliancePolicyRef.namespace
类型:对象
可选的
不透明 密钥
AtlasBackupCompliancePolicy
的命名空间 引用 自定义资源 。如果启用备份合规策略,则必须指定此参数。
spec.connectionSecretRef.name
类型:字符串
Optional
不透明 密钥 的名称 包含一个 字段,其中包含
password
Atlas Kubernetes Operator 用于 连接 到 Atlas 的组织 ID 和 API 密钥 。如果未指定,Atlas Kubernetes Operator 将使用默认的global
密钥。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials 默认情况下,Atlas Kubernetes Operator 将连接密钥保存在同一 命名空间 中
AtlasProject
作为 自定义资源 。将密钥存储在另一个 命名空间 中 ,指定spec.connectionSecretRef.namespace
参数。
spec.connectionSecretRef.namespace
类型:字符串
Optional
命名空间 包含 密钥 IDAPIAtlas Kubernetes OperatorAtlas,其中包含 用于 连接 到 的组织 和 密钥 。如果未指定,Atlas Kubernetes Operator 会将连接密钥保存在同一 命名空间
AtlasProject
中 作为 自定义资源。
spec.cloudProviderAccessRoles
类型:数组
已弃用。 请改用
spec.cloudProviderIntegrations
。包含统一云提供商访问设置的列表。
spec.cloudProviderAccessRoles.iamAssumedRoleArn
类型:字符串
已弃用。 请改用
spec.cloudProviderIntegrations.iamAssumedRoleArn
。唯一的Amazon Web Services ARN ,用于标识 Atlas 假定的IAM访问角色。如果要设置统一的云提供商访问权限,则必须指定此设置。
spec.cloudProviderAccessRoles.providerName
类型:字符串
已弃用。 请改用
spec.cloudProviderIntegrations.providerName
。Atlas 担任访问角色的云提供商。 Atlas Kubernetes Operator 支持
AWS
以实现统一的云提供商访问。如果要设置统一的云提供商访问权限,则必须指定此设置。
spec.cloudProviderIntegrations
类型:数组
Optional
包含统一云提供商集成设置的列表。
spec.cloudProviderIntegrations.iamAssumedRoleArn
类型:字符串
可选的
唯一的AWS ARN ,用于标识 Atlas 假定的IAM访问角色。 如果要设置统一的云提供商集成,则必须指定此设置。
spec.cloudProviderIntegrations.providerName
类型:字符串
可选的
Atlas 担任访问角色的云提供商。 Atlas Kubernetes Operator 支持
AWS
进行统一的云提供商集成。如果要设置统一的云提供商集成,则必须指定此设置。
spec.customRoles
类型:对象
Optional
包含自定义角色规范的对象。
重要
从版本2.6 开始,此参数已弃用。要使用Atlas Kubernetes Operator创建自定义角色,请使用
AtlasCustomRole
自定义资源。
spec.encryptionAtRest
类型:数组
Optional
列表,其中包含使用客户托管密钥对项目进行静态加密的配置。
spec.encryptionAtRest.awsKms
类型:对象
Optional
列表,其中包含使用Amazon Web Services KMS为项目使用客户托管密钥进行静态加密的配置。
spec.encryptionAtRest.enabled
类型:布尔值
Optional
指示此项目是否使用Amazon Web Services KMS加密数据的标志。要使用Amazon Web Services KMS启用静态加密,请将此参数设置为
true
。要使用Amazon Web Services KMS禁用静态加密,请将此参数设置为false
。如果您使用Amazon Web Services KMS禁用静态加密,Atlas Kubernetes Operator 会删除配置详细信息。
spec.encryptionAtRest.awsKms.region
类型:字符串
Optional
指示客户主密钥所在Amazon Web Services区域的标签。
spec.encryptionAtRest.awsKms.secretRef.name
类型:字符串
Optional
不透明 密钥 的名称 包含您的Amazon Web Services 凭证。
Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.encryptionAtRest.awsKms.secretRef.namespace
类型:字符串
Optional
包含Amazon Web Services的命名空间。如果未指定,此参数默认为
AtlasProject
自定义资源的命名空间。
spec.encryptionAtRest.azureKeyVault
类型:对象
Optional
列表,其中包含使用Azure Key Vault 进行静态加密的配置,其中使用的是项目的客户托管密钥。
spec.encryptionAtRest.azureKeyVault.azureEnvironment
类型:字符串
Optional
Azure 帐户凭据所在的 Azure 部署位置。有效值包括
AZURE
、AZURE_CHINA
和AZURE_GERMANY
。
spec.encryptionAtRest.azureKeyVault.enabled
类型:布尔值
Optional
指示此项目是否使用使用Azure Key Vault 的Azure Key 的标志,Atlas Kubernetes Operator 删除了配置详细信息。
spec.encryptionAtRest.azureKeyVault.resourceGroupName
类型:字符串
Optional
用于标识包含 Azure Key Vault 的 Azure 资源组的标签。Azure在资源组的详细信息页面显示资源组名称。
spec.encryptionAtRest.azureKeyVault.secretRef.name
类型:字符串
Optional
不透明 密钥 的名称 包含您的 Azure 档案。
Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.encryptionAtRest.azureKeyVault.secretRef.namespace
类型:字符串
Optional
包含Azure 档案的命名空间。 如果未指定,此参数默认为
AtlasProject
自定义资源的命名空间。
spec.encryptionAtRest.azureKeyVault.tenantID
类型:字符串
Optional
唯一的 36 位十六进制字符串,用于标识 Azure 订阅中的 Azure Active 目录 租户。Azure在租户属性页面上显示租户 ID。
spec.encryptionAtRest.googleCloudKms
类型:对象
Optional
列表,其中包含使用 Google Cloud KMS进行静态加密(使用客户管理的项目密钥)的配置。
spec.encryptionAtRest.googleCloudKms.enabled`
类型:字符串
Optional
指示此项目是否使用 Google Cloud Platform KMS对静态数据进行加密的标志。要使用 Google Cloud Platform KMS启用静态加密,请将此参数设置为
true
。要使用 Google Cloud Platform KMS禁用静态加密,请将此参数设置为false
。如果您使用 Google Cloud Platform KMS禁用静态加密,Atlas Kubernetes Operator 会删除配置详细信息。
spec.encryptionAtRest.googleCloudKms.secretRef.name
类型:字符串
Optional
不透明 密钥 的名称 包含您的GCP 档案。
Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.encryptionAtRest.googleCloudKms.secretRef.namespace
类型:字符串
Optional
包含您的 Google Cloud Platform 档案的命名空间。如果未指定,此参数默认为
AtlasProject
自定义资源的命名空间。
spec.integrations
类型:数组
Optional
包含第三方集成设置的列表。 必须指定的参数取决于要配置的第三方服务:
服务设置所有
Datadog
Microsoft Teams
Opsgenie
PagerDuty
Prometheus
Slack
VictorOps
Webhook 设置
spec.integrations.apiKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Datadog、Opsgenie 或 VictorOps 的 API 密钥。如果要与 Datadog、Opsgenie 或 VictorOps 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.apiKeyRef.namespace
类型:字符串
可选的
包含 Datadog、Opsgenie 或 VictorOps 的 API 密钥的命名空间。 如果要与 Datadog、Opsgenie 或 VictorOps 集成,则必须指定此设置。
spec.integrations.apiTokenRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 Slack 的 API 令牌。如果要与 Slack 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.licenseKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 New Relic 的许可证密钥。如果要与 New Relic 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.licenseKeyRef.namespace
类型:字符串
可选的
包含 New Relic 许可证密钥的命名空间。 如果要与 New Relic 集成,则必须指定此设置。
spec.integrations.microsoftTeamsWebhookURL
类型:字符串
可选的
指定 Microsoft Teams 传入 Webhook URL的字符串。 如果要与 Microsoft Teams 集成,则必须指定此设置。
spec.integrations.passwordRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个具有
password
Prometheus 密码的 字段。如果要与 Prometheus 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.readTokenRef.name
类型:字符串
可选的
不透明 密钥 的名称 ,其中包含一个
password
字段,其中包含 New Relic 的见解查询密钥。如果要与 New Relic 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.readTokenRef.namespace
类型:字符串
可选的
包含 New Relic 的见解查询密钥的命名空间。 如果要与 New Relic 集成,则必须指定此设置。
spec.integrations.region
类型:字符串
可选的
默认值:
US
字符串值,表示用于 Datadog 或 Opsgenie 的 API URL。 如果要与 Datadog 或 Opsgenie 集成,则必须指定此设置。
Opsgenie 的值包括
US
或EU
。Atlas 在 Atlas Administration API 中支持以下 Datadog 地区:
Atlas Administration API 地区相应的 Datadog 地区US
US1
US3
US3
US5
US5
EU
EU1
Datadog 默认使用
US1
(在 Atlas Administration API 中为US
)。如要了解有关 Datadog 区域的更多信息,请参阅 Datadog 站点。
spec.integrations.routingKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 VictorOps 的路由键。如果要与 VictorOps 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.routingKeyRef.namespace
类型:字符串
可选的
包含 VictorOps 路由密钥的命名空间。 如果要与 VictorOps 集成,则必须指定此设置。
spec.integrations.secretRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个具有
password
Webhook 密钥的 字段。如果要与 Webhook 设置集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.scheme
类型:字符串
可选的
字符串,表示为请求配置的 Prometheus 协议方案。 值包括
http
或https
。 如果要与 Prometheus 集成,则必须指定此设置。
spec.integrations.serviceDiscovery
类型:字符串
可选的
人类可读标签,指示要使用的 Prometheus 服务发现方法。 值包括
file
或http
。 如果要与 Prometheus 集成,则必须指定此设置。
spec.integrations.serviceKeyRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个
password
字段,其中包含 PagerDuty 的服务密钥。如果要与 PagerDuty 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.serviceKeyRef.namespace
类型:字符串
可选的
包含 PagerDuty 服务密钥的命名空间。 如果要与 PagerDuty 集成,则必须指定此设置。
spec.integrations.type
类型:字符串
可选的
字符串值,表示要与 Atlas 集成的第三方服务。 值包括:
DATADOG
MICROSOFT_TEAMS
NEW_RELIC
OPS_GENIE
PAGER_DUTY
PROMETHEUS
SLACK
VICTOR_OPS
WEBHOOK
如果要与第三方服务集成,则必须指定此设置。
spec.integrations.writeTokenRef.name
类型:字符串
可选的
不透明 密钥 的名称 包含一个 字段,其中包含
password
New Relic 的写入令牌。如果要与 New Relic 集成,则必须指定此设置。Atlas Kubernetes Operator 仅监视带有标签 的密钥,以避免监视不必要的
atlas.mongodb.com/type=credentials
密钥 。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.integrations.writeTokenRef.namespace
类型:字符串
可选的
包含 New Relic 的写入令牌的命名空间。 如果要与 New Relic 集成,则必须指定此设置。
spec.maintenanceWindow
类型:对象
Optional
包含维护窗口设置的列表。 您可以指定以下正文参数:
名称类型必要性说明dayOfWeek
数字
必需
您希望维护窗口在一周中的哪一天开始,采用从 1 开始的整数形式。
周中的某一天整型星期日
1
星期一
2
星期二
3
星期三
4
星期四
5
星期五
6
星期六
7
hourOfDay
数字
必需
您希望维护窗口开始的时间。 此参数使用 24 小时制,其中午夜为0 ,中午为12 。
autoDeferOnceEnabled
布尔
Optional
指示是否要将所有维护窗口推迟一周的标志。
重要
维护窗口注意事项
- 紧急维护活动
- 诸如安全补丁之类的紧急维护活动无法等待 您选择的窗口。Atlas 将在需要时启动这些维护活动。
- 持续维护操作
- 一旦为群集安排了维护, 在当前维护工作完成之前,您就无法更改维护窗口。
- 维护需要副本集选举
- Atlas 的维护方式与 MongoDB 手册所述的维护过程相同。此过程要求每个副本集在维护窗口期间至少进行一次副本集选举。
- 维护尽量靠近整点开始
- 维护总是尽可能接近预定时间开始, 但正在进行的集群更新或意外的系统问题可能会延迟开始时间。
spec.maintenanceWindow.defer
类型:布尔值
可选的
指示 Atlas 是否应推迟计划维护的标志。 您必须先安排维护,然后才能成功推迟维护。
spec.maintenanceWindow.defer
和spec.maintenanceWindow.startASAP
不能同时设置为true
。重要
当
spec.maintenanceWindow.defer
设置为true
时,Atlas Kubernetes Operator 会在您每次将更改应用于AtlasProject
自定义资源时推迟计划维护。 如果您将spec.maintenanceWindow.defer
设置为true
,则应在应用更改后将spec.maintenanceWindow.defer
更改为false
。
spec.maintenanceWindow.dayOfWeek
类型:数字
可选的
从一开始的整数,表示维护窗口开始的星期几。 使用下表查找与每一天对应的整数:
周中的某一天整型星期日
1
星期一
2
星期二
3
星期三
4
星期四
5
星期五
6
星期六
7
如果要为项目配置维护窗口,则必须指定此设置。
spec.maintenanceWindow.hourOfDay
类型:数字
可选的
从零开始的整数,表示维护窗口按照 24 小时制开始的当天中的某个小时。 午夜使用
0
,中午使用12
。 如果要为项目配置维护窗口,则必须指定此设置。
spec.maintenanceWindow.startASAP
类型:布尔值
可选的
指示 Atlas 是否应立即开始维护的标志。
spec.maintenanceWindow.defer
和spec.maintenanceWindow.startASAP
不能同时设置为true
。重要
当
spec.maintenanceWindow.startASAP
设置为true
时,Atlas Kubernetes Operator 会在您每次将更改应用于AtlasProject
自定义资源时开始维护。 如果您将spec.maintenanceWindow.startASAP
设置为true
,则应在应用更改后将spec.maintenanceWindow.startASAP
更改为false
。
spec.networkPeers
类型:数组
Optional
包含项目网络对等互连配置的列表。
spec.regionUsageRestrictions
类型:字符串
Optional
仅为Atlas for GovernmentAmazon Web Services 指定项目的 区域。您可以指定以下值之一:
NONE
:如果将regionUsageRestrictions
设置为NONE
,则值默认为COMMERCIAL_FEDRAMP_REGIONS_ONLY
。 如果省略regionUsageRestrictions
,则这是默认值。GOV_REGIONS_ONLY
:表示项目仅限于满足更严格的美国政府安全要求的Amazon Web Services GovCloud 区域。 要了解更多信息,请参阅Amazon Web Services GovCloud 文档。COMMERCIAL_FEDRAMP_REGIONS_ONLY
:表示项目仅限于Amazon Web Services FedRamp 中等标准地区。
spec.projectIpAccessList
类型:数组
必需
IP访问列表,为项目中的 Atlas 集群授予网络访问权限。您可以指定以下正文参数:
Parameter类型必要性说明awsSecurityGroup
字符串
可选的
要添加到访问列表的Amazon Web Services安全组的唯一标识符。
您的访问列表条目只能包含一个awsSecurityGroup 、一个cidrBlock或一个ipAddress 。
您必须先为项目配置VPC对等互连,然后才能将Amazon Web Services安全群组添加到访问列表。
cidrBlock
字符串
可选的
要添加到访问列表的 IP 地址范围(采用CIDR表示法)。
您的访问列表条目只能包含一个awsSecurityGroup 、一个cidrBlock或一个ipAddress 。
comment
字符串
Optional
与访问列表条目关联的注释。
deleteAfterDate
日期
Optional
IP 地址
字符串
可选的
要添加到访问列表的单个 IP 地址。 与awsSecurityGroup和cidrBlock 互斥。
您的访问列表条目只能包含一个awsSecurityGroup 、一个cidrBlock或一个ipAddress 。
spec.settings.isCollectDatabaseSpecificsStatisticsEnabled
类型:布尔值
Optional
指示项目是否启用集群指标中的数据库统计信息集合的标志。
spec.settings.isDataExplorerEnabled
类型:布尔值
Optional
指示项目是否启用了数据浏览器的标志。
spec.settings.isExtendedStorageSizesEnabled
类型:布尔值
Optional
指示是否为指定项目启用扩展存储大小的标志。 要了解有关启用扩展存储的更多信息,请参阅管理项目设置。
spec.settings.isPerformanceAdvisorEnabled
类型:布尔值
Optional
指示项目是否启用了Performance Advisor的标志。
spec.settings.isRealtimePerformancePanelEnabled
类型:布尔值
Optional
指示项目是否启用了实时性能面板的标志。
spec.settings.isSchemaAdvisorEnabled
类型:布尔值
Optional
指示项目是否已启用Schema Advisor的标志。
spec.privateEndpoints
类型:数组
Optional
包含项目私有端点配置的列表。
spec.teams
类型:对象
Optional
包含团队规范的对象。 要了解详情,请参阅配置团队。
spec.teams.teamRef.name
类型:字符串
可选的
来自
AtlasTeam
metadata.name
字段中的 自定义资源的人类可读标签。如果要将团队分配到此项目,则必须指定此设置。
spec.teams.teamRef.namespace
类型:字符串
可选的
如果命名空间不是
default
,则在AtlasTeam
自定义资源中指定。
spec.teams.teamRef.roles
类型:字符串
可选的
Atlas user团队在该项目中使用的角色。 如果要将团队分配到此项目,则必须指定此设置。
spec.withDefaultAlertsSettings
类型:布尔值
Optional
默认值:
true
指示 Atlas Kubernetes Operator 是否使用默认警报配置创建项目的标志。 如果省略,则默认为
true
。如果使用此设置,还必须将
spec.alertConfigurationSyncEnabled
设置为true
,Atlas Kubernetes Operator 才能修改项目警报配置。如果您在创建项目时将此参数设置为
false
,则 Atlas 不会将默认警报配置添加到项目中。此设置对现有项目没有影响。
有关此设置如何与
spec.alertConfigurationSyncEnabled
交互的信息,请参阅注意事项。