重要
Atlas Open Service Broker 已弃用。请改用 MongoDB Atlas Operator。
分片集群为大型数据集提供水平扩展,并通过将数据集分布在一群组服务器上来启用高吞吐量操作。
要学习;了解有关分片的更多信息,请参阅MongoDB手册中的分片简介。
要部署 Atlas 可以管理的新分片集群,请使用 Atlas Open Service Broker 和 Kubernetes。 部署后,使用 Atlas 添加分片并对集群执行其他维护操作。
先决条件
您可以通过定义对象来创建Atlas分片的集群。要使用Kubernetes对象部署分片集群,必须先安装Atlas Open Service Broker。
Considerations
Atlas API 的限制
Atlas Open Service Broker 使用 Atlas API 的 创建集群 端点来部署分片的集群。该API的任何要求或限制也应用于Atlas Open Service Broker。
步骤
为分片集群创建 ServiceInstance资源定义。
根据 Atlas Open Service Broker 实例的范围,复制以下资源定义示例之一。
如果您将 Atlas Open Service Broker 实例注册为:
A
ClusterServiceBroker,选择Cluster-scoped Instance(集群范围的实例)标签页。A
ServiceBroker,选择Namespace-scoped Instance(命名空间范围的实例)标签页。
复制以下YAML文件,您可以修改该文件以满足所需的配置:
1 apiVersion: servicecatalog.k8s.io/v1beta1 2 kind: ServiceInstance 3 metadata: 4 name: <CLUSTER_NAME> 5 namespace: <NAMESPACE> 6 spec: 7 clusterServiceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> 8 clusterServicePlanExternalName: <INSTANCE_SIZE_PLAN> 9 parameters: 10 cluster: 11 numShards: <NUMBER_OF_SHARDS> 12 providerSettings: 13 regionName: <ATLAS_REGION> 复制以下YAML文件,您可以修改该文件以满足所需的配置:
1 apiVersion: servicecatalog.k8s.io/v1beta1 2 kind: ServiceInstance 3 metadata: 4 name: <CLUSTER_NAME> 5 namespace: <NAMESPACE> 6 spec: 7 serviceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> 8 servicePlanExternalName: <INSTANCE_SIZE_PLAN> 9 parameters: 10 cluster: 11 numShards: <NUMBER_OF_SHARDS> 12 providerSettings: 13 regionName: <ATLAS_REGION> 打开首选文本编辑器,将资源定义粘贴到新的文件中。
配置所需的设置。
要部署分片集群,必须指定以下设置:
键 | 说明 | 例子 | |
|---|---|---|---|
| Kubernetes中集群的名称。Atlas随机生成相应的Atlas 集群名称。 |
| |
|
| ||
| 对应于您的Atlas云服务提供商的Kubernetes类。 通过调用以下命令查看可用类: 类名称列在命令输出的 |
| |
| 与所需Atlas实例大小相对应的Kubernetes服务计划。 通过调用以下命令查看可用计划: 计划名称列在命令输出的 |
| |
spec.parameters.cluster.numShards | 分片集群中的分片数量。 |
| |
spec.parameters.cluster.providerSettings.regionName | 创建集群的Atlas地区。 重要确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。确保您选择的地区支持您的集群大小。 有关可用区域的列表,请参阅您的云服务提供商的Atlas文档: |
|
键 | 说明 | 例子 | |
|---|---|---|---|
| Kubernetes中集群的名称。Atlas随机生成相应的Atlas 集群名称。 |
| |
|
| ||
| 对应于您的Atlas云服务提供商的Kubernetes类。 通过调用以下命令查看可用类: 类名称列在命令输出的 |
| |
| 与所需Atlas实例大小相对应的Kubernetes服务计划。 通过调用以下命令查看可用计划: 计划名称列在命令输出的 |
| |
spec.parameters.cluster.numShards | 分片集群中的分片数量。 |
| |
spec.parameters.cluster.providerSettings.regionName | 创建集群的Atlas地区。 重要确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。确保您选择的地区支持您的集群大小。 有关可用区域的列表,请参阅您的云服务提供商的Atlas文档: |
|
(可选)配置分片集群部署的任何其他设置。
您可以在 spec.parameters.cluster 键下指定其他集群设置。这些设置对应于创建集群API方法的请求正文参数。
重要
以下API参数将被上一步中所需的 Atlas Open Service Broker 设置覆盖,因此不应指定这些参数:
providerSettings.instanceSizeNameproviderSettings.providerNamename
例子
此示例资源定义在 atlas 命名空间中创建一个名为 my-sharded-cluster 的分片集群,该集群具有以下配置:
由集群范围 (
ClusterServiceBroker) Atlas Open Service Broker 管理Amazon Web Services作为云服务提供商
实例大小为
M30由三个分片组成
位于欧盟(法兰克福)地区
已禁用自动伸缩
已启用Atlas Cloud Provider Atlas 备份快照
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-sharded-cluster namespace: atlas spec: clusterServiceClassExternalName: mongodb-atlas-aws clusterServicePlanExternalName: M30 parameters: cluster: numShards: 3 providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true
例子
此示例资源定义在 atlas 命名空间中创建一个名为 my-sharded-cluster 的分片集群,该集群具有以下配置:
由命名空间范围 (
ServiceBroker) Atlas Open Service Broker 管理Amazon Web Services作为云服务提供商
实例大小为
M30由三个分片组成
位于欧盟(法兰克福)地区
已禁用自动伸缩
已启用Atlas Cloud Provider Atlas 备份快照
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-sharded-cluster namespace: atlas spec: serviceClassExternalName: mongodb-atlas-aws servicePlanExternalName: M30 parameters: cluster: numShards: 3 providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true