Docs 菜单
Docs 主页
/ /
MongoDB Atlas Kubernetes Operator
/

AtlasDeployment 自定义资源

AtlasDeployment自定义资源在 Atlas 中配置 MongoDB cluster 或无服务器实例。当您创建AtlasDeployment自定义资源时,Atlas Kubernetes Operator 会尝试在 Atlas 中创建或更新集群或无服务器实例。

重要

自定义资源定义优先

Atlas Kubernetes Operator使用自定义资源配置文件来管理Atlas配置。 每个自定义资源定义都会覆盖以其他方式指定的设置,例如在Atlas用户界面中。 如果您删除自定义资源, Atlas Kubernetes Operator会从Atlas中删除该对象,除非您使用注解来跳过删除。 要学习;了解更多信息,请参阅创建和更新进程以及删除进程。

Atlas Kubernetes Operator 根据您在AtlasDeployment自定义资源中指定的值执行以下操作之一:

  • 如果您指定spec.deploymentSpec下的字段值, Atlas Kubernetes Operator将使用Atlas 集群API资源高级集群API资源来创建新集群或更新现有集群。

  • 如果您指定spec.serverlessSpec下的字段值,Atlas Kubernetes Operator 将使用 Atlas Serverless Instance API 资源来创建新的无服务器实例或更新现有的无服务器实例。

创建或更新集群或无服务器实例最多可能需要 10 分钟。 Atlas Kubernetes Operator 监控更新过程。

您可以运行以下命令来检查状态:

kubectl get atlasdeployment -o yaml

以下示例显示了正在配置的集群的状态部分:

status:
conditions:
- lastTransitionTime: "2021-03-18T16:32:43Z"
status: "False"
type: ClusterReady
reason: ClusterCreating
message: Cluster is provisioning

当集群或无服务器实例准备就绪时, ClusterReady状态将更改为True

如果您从Kubernetes集群删除AtlasDeployment资源, Atlas Kubernetes Operator将从Atlas中删除集群或无服务器实例。

以下示例显示了ClusterReady状态为TrueAtlasDeployment资源:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
namespace: default
labels:
app.kubernetes.io/version: 1.6.0
spec:
projectRef:
name: my-project
deploymentSpec:
name: test-cluster
tags:
- key: "environment",
value: "production"
providerSettings:
instanceSizeName: M10
providerName: AWS
regionName: US_EAST_1
mongoDBMajorVersion: "4.4"
status:
conditions:
- lastTransitionTime: "2021-03-18T16:32:43Z"
status: "True"
type: Ready
- lastTransitionTime: "2021-03-18T16:32:43Z"
status: "True"
type: ClusterReady
connectionStrings:
standard: mongodb://test-cluster-shard-00-00.kpc8f.mongodb.net:27017,test-cluster-shard-00-01.kpc8f.mongodb.net:27017,test-cluster-shard-00-02.kpc8f.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-1gm1pv-shard-0
standardSrv: mongodb+srv://test-cluster.kpc8f.mongodb.net
mongoDBVersion: 4.4.4
mongoURIUpdated: "2021-03-12T12:21:41Z"
observedGeneration: 1
stateName: IDLE

以下示例显示了为自动伸缩多区域集群配置的AtlasDeployment自定义资源规范:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
name: test-cluster-name
namespace: mongodb-atlas-system
spec:
projectRef:
name: development
deploymentSpec:
autoScaling:
compute:
enabled: true
scaleDownEnabled: true
clusterType: REPLICASET
name: service-name
tags:
- key: "environment",
value: "production"
providerBackupEnabled: true
providerSettings:
autoScaling:
compute:
maxInstanceSize: M40
minInstanceSize: M30
instanceSizeName: M30
providerName: GCP
replicationSpecs:
- numShards: 1
regionsConfig:
EASTERN_US:
analyticsNodes: 0
electableNodes: 1
priority: 6
readOnlyNodes: 0
SOUTH_AMERICA_EAST_1:
analyticsNodes: 0
electableNodes: 2
priority: 7
readOnlyNodes: 0
zoneName: Zone 1

以下示例显示了使用高级选项配置的AtlasDeployment自定义资源规范。

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
labels:
app.kubernetes.io/version: 1.6.0
spec:
projectRef:
name: my-project
deploymentSpec:
name: Test-cluster
tags:
- key: "environment",
value: "production"
providerSettings:
instanceSizeName: M10
providerName: AWS
regionName: US_EAST_1
processArgs:
javascriptEnabled: false

以下示例显示了为无服务器实例配置的AtlasDeployment自定义资源规范:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: test-cluster-name
namespace: mongodb-atlas-system
labels:
app.kubernetes.io/version: 1.6.0
spec:
projectRef:
name: development
serverlessSpec:
name: serverless-instance
tags:
- key: "environment",
value: "production"
providerSettings:
providerName: AWS
regionName: US_EAST_1

高级集群可以跨区域和云服务提供商。 要学习;了解更多信息,请参阅高级集群注意事项。

注意

Atlas Advanced Clusters API 资源使用v1.5 Atlas API版本发送请求,而 Atlas Kubernetes Operator apiVersion字段使用v1 。 在本例中, v1指的是 Kubernetes API的版本。

以下示例显示了为多区域集群配置的高级AtlasDeployment自定义资源规范:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
labels:
app.kubernetes.io/version: 1.6.0
spec:
projectRef:
name: my-project
advancedDeploymentSpec:
clusterType: REPLICASET
name: tenantCluster
tags:
- key: "environment",
value: "production"
replicationSpecs:
- regionConfigs:
- electableSpecs:
instanceSize: M5
providerName: AWS
regionName: US_EAST_1

以下示例显示了配置为跨多个云服务提供商的高级AtlasDeployment自定义资源规范:

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
labels:
app.kubernetes.io/version: 1.6.0
spec:
projectRef:
name: my-project
advancedDeploymentSpec:
clusterType: REPLICASET
name: tenantCluster
tags:
- key: "environment",
value: "production"
replicationSpecs:
- regionConfigs:
- electableSpecs:
instanceSize: M10
nodeCount: 3
providerName: AWS
regionName: US_EAST_1
priority: 7
- electableSpecs:
instanceSize: M10
nodeCount: 2
providerName: AZURE
regionName: US_EAST_2
priority: 6
- electableSpecs:
instanceSize: M10
nodeCount: 2
providerName: GCP
regionName: CENTRAL_US
priority: 5

本部分介绍一些可用的关键AtlasDeployment自定义资源参数。 有关集群可用参数的完整列表,请参阅Atlas Clusters API和Atlas Advanced Clusters API 。 有关无服务器实例的可用参数的完整列表,请参阅Atlas无服务器实例API。

请参考这些说明、可用示例和 API 文档,自行制定规范。

spec.advancedDeploymentSpec

类型:数组

可选的

包含来自API的高级集群参数的列表。 有关可用参数的完整列表,请参阅Atlas Advanced Clusters API。

重要

您必须在配置中指定spec.deploymentSpecspec.advancedDeploymentSpecspec.serverlessSpec

spec.advancedDeploymentSpec.customZoneMapping

类型:数组

必需

包含将区域映射到地理区域的全局集群参数的列表。 有关可用参数的完整列表,请参阅Atlas Global Clusters API。

spec.advancedDeploymentSpec.customZoneMapping.location

类型:字符串

必需

表示映射到全球集群中区域的位置的代码。

spec.advancedDeploymentSpec.customZoneMapping.zone

类型:字符串

必需

人类可读标签,用于标识全局集群中的区域。

spec.advancedDeploymentSpec.diskSizeGB

类型:数字

Optional

表示主机根卷的容量,以 GB 为单位。 增加此数字可增加容量,最大可能值为4096 (即4 TB)。 您必须为此值指定一个正数。

您无法对具有本地NVMe SSD的集群设立此值。

注意

如果您在任何地区为diskGB启用了自动伸缩,则无法编辑此选项。 要学习;了解更多信息,请参阅spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled

对于 AWS 和 Google Cloud,专用集群的最小磁盘大小为 10 GB。如果您用较小的磁盘大小指定此设置,则 Atlas 默认使用最小磁盘大小值。

如果您的数据库部署包含Azure节点,此值必须与现有Azure磁盘类型(8、16、32、64、128、256、512、1024、2048 或 4096)相对应。

根据您选择的是默认值还是自定义值, Atlas 计算存储费的方式会有所不同。

Atlas 对单个副本集有磁盘容量限制,对于更高的集群层可扩展到4 TB。 要将集群总存储空间扩展到默认限制之外,您可以在项目设置中启用扩展存储。 为了适应未来的进一步扩展,我们建议您为长期扩展启用分片

如果数据库部署跨越云服务提供商, 该值默认为相关提供商的最小默认值。

要了解更多信息,请参阅存储容量。

spec.advancedDeploymentSpec.managedNamespaces

类型:数组

必需

列表,其中包含在要创建的指定全局集群中创建托管命名空间的信息。 有关可用参数的完整列表,请参阅 Atlas Global Clusters API。

spec.advancedDeploymentSpec.managedNamespaces.collection

类型:字符串

必需

要在此“全局集群”中管理的集合的人类可读标签。

spec.advancedDeploymentSpec.managedNamespaces.db

类型:字符串

必需

要在此全局集群中管理的数据库的人类可读标签。

spec.advancedDeploymentSpec.managedNamespaces.isCustomShardKeyHashed

类型:布尔值

Optional

Flag that indicates whether to hash the custom shard key for the specified collection. 此参数默认为false

  • 设置为true可为collection启用自定义分片键。

  • 设置为false可禁用集合的自定义分片键。 如果禁用,MongoDB 将使用范围分片。

要了解更多信息,请参阅哈希分片键。

spec.advancedDeploymentSpec.managedNamespaces.isCustomShardKeyUnique

类型:布尔值

Optional

指示指定collection的自定义分片键是否唯一的标志。此参数默认为false

  • 设置为true可为collection启用唯一的自定义分片键。

  • 设置为false可禁用collection的唯一自定义分片键。

spec.advancedDeploymentSpec.managedNamespaces.numInitialChunks

类型:整型

Optional

使用哈希分片键对空集合进行分片时最初创建的最小数据段数。

要学习;了解更多信息,请参阅对全局集合进行分片。

spec.advancedDeploymentSpec.managedNamespaces.presplitHashedZones

类型:布尔值

Optional

该标志指示 MongoDB Cloud 是否应为空或不存在的 collection 创建和分发初始数据块。此参数默认为false

  • 设置为true可让 MongoDB Cloud 为空或不存在的collection创建和分发初始数据块。

  • 设置为false可让 MongoDB Cloud 不为空或不存在的collection创建和分发初始数据块。

spec.advancedDeploymentSpec.pitEnabled

类型:布尔值

可选的

为高级集群启用持续云备份的配置。 要启用连续云备份,必须指定此设置并将其值设为true 。 有关标准集群,请参阅spec.deploymentSpec.pitEnabled

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs

类型:数组

必需

为地区设置的节点的硬件规格。每个regionConfigs对象都描述了该地区在选举中的优先级以及 Atlas 部署到该地区的 MongoDB 节点的数量和类型。

每个regionConfigs对象必须具有analyticsSpecs对象、 electableSpecs对象或readOnlySpecs对象。

  • M0M2M5` clusters require only ``electableSpecs

  • 专用集群可以指定任何这些规范,但必须在replicationSpec中至少有一个electableSpecs对象。

  • 每个硬件规格必须使用相同的instanceSize

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.analyticsSpecs

类型:对象

Optional

该地区所需分析节点的硬件规格。 分析节点处理分析数据,例如Atlas的BI Connector的报告查询。 分析节点为只读节点,永远不能成为主节点 (primary node in the replica set)节点。

如果不指定此参数,Atlas 不会在此区域部署分析节点。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled

类型:布尔值

Optional

指示此数据库部署是否启用磁盘自动伸缩的标志。 此参数默认为true

  • 设置为true可启用磁盘自动伸缩。

  • 设置为false可禁用磁盘自动伸缩。

所选集群层的最大 RAM 容量和 oplog 大小会限制存储的自动扩展。 要了解更多信息,请参阅自定义存储。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled

类型:布尔值

Optional

指示是否启用实例大小自动伸缩的标志。 此参数默认为false

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize

类型:字符串

可选的

string ,表示数据库部署可自动扩展的最大实例大小(如 M40)。 如果将spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled设置为true ,则必须指定此参数。

注意

如果您设置的最大实例大小小于数据库部署的 当前实例大小(已启用自动扩展), Atlas 会自动将当前实例大小扩展至 您指定的最大值。

例如,如果数据库部署的当前实例大小为M40 ,而您将最大实例大小设置为M30 ,则 Atlas 会自动将当前实例大小扩展到M30

如果Atlas更改了当前实例大小,而您没有更改Atlas Kubernetes Operator中的spec.deploymentSpec.providerSettings.instanceSizeName以匹配新的实例大小,Atlas Kubernetes Operator会在日志中显示警告,但不会阻止自动扩展。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize

类型:字符串

可选的

string ,表示数据库部署可自动扩展的最小实例大小(如 M10)。 如果将spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled设置为true ,则必须指定此参数。

注意

如果您设置的最小实例大小大于数据库部署的 当前实例大小(已启用自动扩展), Atlas 会自动将当前实例大小 扩展至您指定的最小值。

例如,如果数据库部署的当前实例大小为M10 ,而您将最小实例大小设置为M30 ,则 Atlas 会自动将当前实例大小扩展到M30

如果Atlas更改了当前实例大小,而您没有更改Atlas Kubernetes Operator中的spec.deploymentSpec.providerSettings.instanceSizeName以匹配新的实例大小,Atlas Kubernetes Operator会在日志中显示警告,但不会阻止自动扩展。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.electableSpecs

类型:对象

Optional

该地区可选举节点的硬件规格。 可选举节点可以成为:主节点 (primary node in the replica set)节点,并且可以启用本地读取。

如果不指定该选项,Atlas 不会在该区域部署可选举节点。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize

类型:字符串

可选的

此区域中实例大小的硬件规格。 每个实例大小都有默认的存储和内存容量。 您选择的实例大小会应用于实例大小内的所有数据承载主机。 要了解更多信息,请参阅Amazon Web ServicesGCPAzure自定义存储大小。

如果部署:分片集群或Atlas全球集群,则必须选择M30或更大的实例大小。

注意

如果您为计算字段启用了自动扩展,则无法编辑此选项。 要了解详情,请参阅spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.electableSpecs.nodeCount

类型:整型

可选的

Atlas部署到该地区的可选举节点数。 可选举节点可以成为:主节点 (primary node in the replica set)节点,并且可以启用本地读取。

所有replicationSpecs.regionConfigs对象的electableSpecs.nodeCount总和必须为357

如果spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.priority0 ,则无法创建可选举节点。

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.priority

类型:整型

必需

选举主节点时,优先考虑该地区。

如果您的regionConfigs只有readOnlySpecs和/或analyticsSpecs ,请将此值设置为0

如果您有多个regionConfigs对象(您的集群是多地区或多云),则它们的优先级必须按降序排列。最高优先级为7

例子

将最高优先级区域设置为7 ,将第二高优先级区域设置为6 ,将第三优先级区域设置为5 。 如果没有可选举节点,请将此值设置为0

如果您的地区已将electableSpecs.nodeCount设置为1或更高,则其优先级必须比replicationSpecs.regionConfigs数组中的另一地区低一级,除非是主节点。优先级最高的区域的优先级必须7 。 可能的最低优先级是1

优先级7地区标识集群的首选区域。 Atlas将:主节点 (primary node in the replica set)节点置于首选区域。 优先级17具有排他性:您不能为每个集群的多个地区分配给定优先级。

例子

如果有三个区域,则它们的优先级将分别为765 。 如果您再添加两个区域来支持可选举节点,则这些区域的优先级将分别为43

spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.readOnlySpecs

类型:对象

Optional

该地区中只读节点的硬件规格。 只读节点永远不能成为主节点 (primary node in the replica set)节点,但可以启用本地读取。

如果不指定此参数,Atlas 不会向该区域部署只读节点。

spec.advancedDeploymentSpec.tags

类型:数组

Optional

包含标签(键值对)的列表,以便更好地了解、组织和识别数据库部署。 要了解更多信息,请参阅集群上的标签。

spec.backupRef

类型:对象

Optional

包含要应用的AtlasBackupSchedule自定义资源详细信息的列表。 您可以为每个集群指定一个备份安排。

spec.backupRef.name

类型:字符串

Optional

metadata.name 要应用的备份安排的AtlasBackupSchedule自定义资源中的值。您只能为每个集群指定一个备份安排,但可以为多个集群使用相同的备份安排。

如果您不指定此参数,Atlas 不会将备份配置应用于此集群。

spec.backupRef.namespace

类型:字符串

Optional

字符串,表示包含要应用的备份安排的AtlasBackupSchedule自定义资源的命名空间。

spec.deploymentSpec

类型:数组

可选的

包含来自API的集群参数的列表。 有关可用参数的完整列表,请参阅 Atlas集群 API。

重要

您必须在配置中指定spec.deploymentSpecspec.advancedDeploymentSpecspec.serverlessSpec

spec.deploymentSpec.clusterType

类型:字符串

可选的

人类可读标签,用于标识要创建的集群类型。

什么时候应该使用这个参数?

条件
必要性

必需

您正在部署全球集群。

必需

您正在部署非全局副本集和分片集群。

Optional

Atlas 接受:

集群类型

副本集(Replica Set)

复制集

分片

分片集群

GeoHARDED

spec.deploymentSpec.customZoneMapping

类型:数组

必需

包含将区域映射到地理区域的全局集群参数的列表。 有关可用参数的完整列表,请参阅Atlas Global Clusters API。

spec.deploymentSpec.customZoneMapping.location

类型:字符串

必需

表示映射到全球集群中区域的位置的代码。

spec.deploymentSpec.customZoneMapping.zone

类型:字符串

必需

人类可读标签,用于标识全局集群中的区域。

spec.deploymentSpec.encryptionAtRestProvider

类型:字符串

Optional

管理该集群客户密钥的云服务提供商。 必须设置此值,才能使用客户托管的密钥 对该集群静态加密,从而提供额外的 加密层。

要了解更多信息,请参阅使用KMS加密数据。

Atlas 接受以下值:

云服务提供商

AWS

Amazon Amazon Web Services

GCP

Google Cloud

AZURE

Microsoft Azure

无提供商;集群不使用客户托管的密钥加密数据。

spec.deploymentSpec.managedNamespaces

类型:数组

必需

列表,其中包含在要创建的指定全局集群中创建托管命名空间的信息。 有关可用参数的完整列表,请参阅 Atlas Global Clusters API。

spec.deploymentSpec.managedNamespaces.collection

类型:字符串

必需

要在此“全局集群”中管理的集合的人类可读标签。

spec.deploymentSpec.managedNamespaces.db

类型:字符串

必需

要在此全局集群中管理的数据库的人类可读标签。

spec.deploymentSpec.managedNamespaces.isCustomShardKeyHashed

类型:布尔值

Optional

Flag that indicates whether to hash the custom shard key for the specified collection. 此参数默认为false

  • 设置为true可为collection启用自定义分片键。

  • 设置为false可禁用集合的自定义分片键。 如果禁用,MongoDB 将使用范围分片。

要了解更多信息,请参阅哈希分片键。

spec.deploymentSpec.managedNamespaces.isCustomShardKeyUnique

类型:布尔值

Optional

指示指定collection的自定义分片键是否唯一的标志。此参数默认为false

  • 设置为true可为collection启用唯一的自定义分片键。

  • 设置为false可禁用collection的唯一自定义分片键。

spec.deploymentSpec.managedNamespaces.numInitialChunks

类型:整型

Optional

使用哈希分片键对空集合进行分片时最初创建的最小数据段数。

要学习;了解更多信息,请参阅对全局集合进行分片。

spec.deploymentSpec.managedNamespaces.presplitHashedZones

类型:布尔值

Optional

该标志指示 MongoDB Cloud 是否应为空或不存在的 collection 创建和分发初始数据块。此参数默认为false

  • 设置为true可让 MongoDB Cloud 为空或不存在的collection创建和分发初始数据块。

  • 设置为false可让 MongoDB Cloud 不为空或不存在的collection创建和分发初始数据块。

spec.deploymentSpec.mongoDBMajorVersion

类型:字符串

Optional

要部署的集群的版本。 Atlas 支持M10+集群的以下 MongoDB 版本:

  • 4.4

  • 5.0

  • 6.0

  • 7.0

  • 8.0

以下条件会产生以下结果:

条件
结果

您可以省略此参数,也可以省略spec.deploymentSpec.versionReleaseSystem 参数。

Atlas 部署一个运行 MongoDB 6.0 的集群。

您可以省略此参数,并将spec.deploymentSpec.versionReleaseSystem 参数设立为LTS

Atlas 部署一个运行 MongoDB 6.0 的集群。

spec.deploymentSpec.providerSettings.instanceSizeName将 参数设立为M0M2M5

您必须部署 MongoDB 6.0。

您可以指定此参数。

Atlas 始终使用发布了最新稳定补丁的指定版本部署该集群。

您将spec.deploymentSpec.versionReleaseSystem 参数设立为CONTINUOUS

您必须省略此参数。

spec.deploymentSpec.pitEnabled

类型:布尔值

可选的

启用连续云备份的配置。 要启用持续云备份,必须指定此设置并将其值设为true 。 对于高级集群,请参阅spec.advancedDeploymentSpec.pitEnabled

spec.deploymentSpec.providerSettings

类型:对象

可选的

为运行 MongoDB 的预配主机指定设置的配置。 可用选项特定于云服务提供商。 要了解更多信息,请参阅Amazon Web ServicesGCPAzure集群配置选项。

如果要创建或更新集群,必须指定此设置。

spec.deploymentSpec.providerSettings.providerName

类型:字符串

可选的

Atlas 在其上预配主机的云服务提供商。

AWS

Amazon Amazon Web Services

GCP

Google Cloud Platform

AZURE

Microsoft Azure

spec.deploymentSpec.providerSettings.instanceSizeName

类型:字符串

必需

Atlas 提供不同的集群层,每个集群层都有默认的存储容量和 RAM 大小。 您选择的集群将用于集群中的所有承载数据的服务器。 要了解更多信息,请参阅Amazon Web ServicesGCPAzure自定义存储大小。

如果您在部署集群后更改实例大小名称,Atlas 会将数据库部署更改为您指定的实例大小,除非它超出您在启用自动伸缩的情况下在spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSizespec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize中指定的范围。 要了解详情,请参阅spec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSizespec.advancedDeploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize

注意

您可以更改此设置,将M0M2M5集群升级到M10+集群。 但是,您无法将M0M2M5集群升级到其他免费或共享集群。 例如,您无法将M0集群升级到M5集群。

spec.deploymentSpec.providerSettings.regionName

类型:字符串

可选的

MongoDB 集群的物理位置。 您选择的区域会影响客户端访问数据库的网络延迟。

有关区域名称值的完整列表,请参阅云提供商参考页面:

对于多区域集群,请参阅spec.deploymentSpec.replicationSpecs 。 您必须设置spec.deploymentSpec.providerSettings.regionNamespec.deploymentSpec.replicationSpecs

spec.deploymentSpec.replicationSpecs

类型:对象数组

可选的

包含集群区域配置的列表。 将此参数用于多区域集群。 您必须设置spec.deploymentSpec.providerSettings.regionNamespec.deploymentSpec.replicationSpecs

什么时候应该使用这个参数?

条件
必要性
Values

您正在部署全球集群。

必需

数组中的每个对象都代表 Atlas 部署 集群节点的区域。

您正在部署非全局副本集和分片集群。

Optional

该数组中有一个对象代表 Atlas 部署集群节点的位置。

如果指定此参数,则还必须指定spec.deploymentSpec.clusterTypespec.deploymentSpec.replicationSpecs.numShards

spec.deploymentSpec.replicationSpecs.numShards

类型:整型

可选的

正整数,指定要为分片集群部署的分片数量。

如果使用spec.deploymentSpec.replicationSpecs参数,则必须设置此参数。

Atlas 接受150 (含)。 默认值为1

  • 如果您指定值1设立spec.deploymentSpec.clusterType设置为SHARDED ,则Atlas将部署单分片的分片分片集群。

  • 如果您指定1设立spec.deploymentSpec.clusterType设置为REPLICASET ,则Atlas会部署副本集。

    不要为生产环境创建单分片的分片集群。单分片的分片集群无法提供与多分片配置相同的优势。

    提示

spec.deploymentSpec.replicationSpecs.zoneName

类型:字符串

Optional

人类可读标签,用于标识Global Cluster中的区域。 仅当您将spec.deploymentSpec.clusterType设置为GEOSHARDED时才提供此值。

spec.deploymentSpec.tags

类型:数组

Optional

包含标签(键值对)的列表,以便更好地了解、组织和识别数据库部署。 要了解更多信息,请参阅集群上的标签。

spec.deploymentSpec.versionReleaseSystem

类型:字符串

可选的

Atlas 用于该集群的发布节奏。 Atlas 接受:

  • CONTINUOUS:Atlas 使用最新的 MongoDB 版本创建集群。 Atlas 会自动将您的集群更新到最新的主要 MongoDB 快速版本。

  • LTS:Atlas 会使用您在spec.deploymentSpec.mongoDBMajorVersion参数中指定的 MongoDB 版本的最新补丁版本创建集群。 Atlas 会自动将集群更新到此 MongoDB 版本的后续补丁版本。 即使有较新的快速版本或主要 MongoDB 版本可用,Atlas 也不会将集群更新到这些版本。

    如果省略,则默认值为 LTS

    如果将此参数设置为CONTINUOUS ,则必须省略spec.deploymentSpec.mongoDBMajorVersion参数。

spec.processArgs

类型:对象

Optional

包含集群高级配置选项的对象。

spec.processArgs.defaultReadConcern

类型:字符串

Optional

string ,表示为此集群设立的读操作从MongoDB请求的默认确认级别

MongoDB 4.4集群默认为可用。

MongoDB 5.0集群默认为本地。

spec.processArgs.defaultWriteConcern

类型:字符串

Optional

string ,表示MongoDB为此集群设置的写入操作请求的默认确认级别

MongoDB 4.4集群默认为1 。

MongoDB 5.0及更高版本的集群默认为“多数”。

spec.processArgs.failIndexKeyTooLong

类型:布尔值

Optional

标志,用于指示在插入或更新所有索引条目都超过1024字节的文档时是否使操作失败并返回错误。 如果将其设置为falsemongod会写入超过此限制的文档,但不会对其进行索引。

此选项对应于param.failIndexKeyTooLong mongod参数。

spec.processArgs.javascriptEnabled

类型:布尔值

Optional

指示集群是否允许执行服务器端执行 JavaScript 的操作的标志。

spec.processArgs.minimumEnabledTlsProtocol

类型:整型

Optional

字符串,表示集群接受的传入连接的最低 TLS 版本。使用 TLS 1.0 或 1.1 的集群应考虑将 TLS 1.2 设置为最低 TLS 协议版本。

要了解更多信息,请参阅Atlas 支持哪些 TLS 版本?

此选项对应于net.ssl.disabledProtocols mongod配置文件选项。

spec.processArgs.noTableScan

类型:布尔值

Optional

该标志指示集群是否禁用执行需要集合扫描才能返回结果的查询。

此选项对应于notablescan mongod参数。

spec.processArgs.oplogSizeMB

类型:整型

Optional

指示集群 oplog 存储限制的数字,以兆字节为单位。 值为null表示集群使用 Atlas 计算的默认 oplog 大小。

此选项对应于replication.oplogSizeMB mongod配置文件选项。

spec.processArgs.sampleRefreshIntervalBIConnector

类型:整型

Optional

收集模式信息时要采样的表明每个数据库的文档数。

该参数对应于sampleSize mongsqld选项。

spec.processArgs.sampleSizeBIConnector

类型:整型

Optional

数字,表示mongsqld 进程重新采样数据以创建其关系模式的时间间隔(以秒为单位)。

此参数对应于sampleRefreshIntervalSecs mongsqld选项。

spec.projectRef.name

类型:字符串

必需

集群所属项目的名称。 您必须指定现有的AtlasProject自定义资源。

spec.serverlessSpec

类型:数组

可选的

包含来自API的无服务器实例参数的列表。 有关可用参数的完整列表,请参阅Atlas无服务器实例API。

重要

您必须在配置中指定spec.deploymentSpecspec.advancedDeploymentSpecspec.serverlessSpec

spec.serverlessSpec.privateEndpoints

类型:数组

Optional

包含无服务器实例的私有端点配置的列表。

spec.serverlessSpec.providerSettings

类型:对象

可选的

为运行MongoDB的预配主机指定设置的配置。 可用选项特定于云服务提供商。 要学习;了解更多信息,请参阅Amazon Web ServicesGCPAzure无服务器实例配置选项。

如果要创建或更新无服务器实例,必须指定此设置。

spec.serverlessSpec.providerSettings.providerName

类型:字符串

可选的

Atlas 配置无服务器实例主机的云服务提供商。

Atlas 接受以下值:

AWS

Amazon Amazon Web Services

GCP

Google Cloud Platform

AZURE

Microsoft Azure

spec.serverlessSpec.providerSettings.regionName

类型:字符串

可选的

MongoDB 无服务器实例的物理位置。 您选择的区域会影响客户端访问数据库的网络延迟。

有关区域名称值的完整列表,请参阅云提供商参考页面:

spec.serverlessSpec.tags

类型:数组

Optional

包含标签(键值对)的列表,以便更好地了解、组织和识别数据库部署。 要了解更多信息,请参阅集群上的标签。

status.connectionStrings

类型:数组

必需

列表,其中包含用于访问集群的连接 URL。 该参数会在创建或更新集群后出现。

注意

您不能直接使用连接URL 。Atlas集群需要身份验证。您必须创建至少一个AtlasDatabaseUser 自定义资源,Kubernetes集群中的应用程序才能连接到Atlas 集群。Atlas Kubernetes Operator为项目中的每个集群和数据库用户组合创建一个特殊密钥。Kubernetes集群中的应用程序可以使用此密钥连接到Atlas 集群。AtlasDatabaseUser 自定义资源中的 spec.scopes 参数限制创建数据库用户的集群。

有关API中适用于集群和高级集群的配置参数,请参阅Atlas集群API高级集群API。

注意

以下参数在 Atlas API 中已弃用,Atlas Kubernetes Operator 不支持这些参数:

  • replicationSpec

  • replicationFactor

后退

Atlas 项目

在此页面上