重要
Atlas Open Service Broker 已弃用。请改用 MongoDB Atlas Operator。
A 副本集 是一群组维护相同数据集的MongoDB部署。副本集提供冗余和高可用性,是所有生产部署的基础。
要了解有关副本集的更多信息,请参阅 MongoDB 手册中的复制简介。
您可以使用 Atlas Open Service Broker 部署由 Atlas 托管的新副本集。 部署后,使用 Atlas 管理监控、备份和项目配置,例如 VPC 对等互连或计费。
先决条件
您可以通过定义对象来创建Atlas副本集。要使用Kubernetes对象部署副本集,必须先安装Atlas Open Service Broker。
Considerations
Atlas 公共 API
Atlas Open Service Broker 使用 Atlas Public API 的 创建集群 端点来部署副本集。API的任何要求或限制也应用于Atlas Open Service Broker。
步骤
为副本集创建资源定义。
根据 Service Broker 实例的范围,复制以下资源定义示例之一。
如果您将 Atlas Open Service Broker 实例注册为集群范围的
ClusterServiceBroker,请选择 Cluster-scoped Instance(集群范围的实例)。 如果您将 Atlas Open Service Broker 实例注册为命名空间范围的ServiceBroker,请选择命名空间范围的实例。复制以下YAML文件,您可以修改该文件以满足所需的配置:
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: <CLUSTER_NAME> namespace: <NAMESPACE> spec: clusterServiceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> clusterServicePlanExternalName: <INSTANCE_SIZE_PLAN> parameters: cluster: providerSettings: regionName: <ATLAS_REGION> 复制以下YAML文件,您可以修改该文件以满足所需的配置:
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: <CLUSTER_NAME> namespace: <NAMESPACE> spec: serviceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> servicePlanExternalName: <INSTANCE_SIZE_PLAN> parameters: cluster: providerSettings: regionName: <ATLAS_REGION> 打开首选文本编辑器,将资源定义粘贴到新的文件中。
配置所需的设置。
部署副本集需要突出显示的设置:
键 | 说明 | 例子 | |
|---|---|---|---|
| Kubernetes中集群的名称。Atlas随机生成相应的副本集名称。 |
| |
| 在其中创建此集群的 Kubernetes命名空间。 |
| |
| 与您的Atlas云服务提供商相对应的Kubernetes类。 通过调用以下命令查看可用类: 类名称列在命令输出的 注意您必须使用 |
| |
| 与所需Atlas实例大小相对应的Kubernetes服务计划。 通过调用以下命令查看可用计划: 计划名称列在命令输出的 |
| |
| 创建副本集的Atlas地区。 重要确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。如果部署 有关可用区域的列表,请参阅您的云服务提供商的Atlas文档: |
|
键 | 说明 | 例子 | |
|---|---|---|---|
| Kubernetes中集群的名称。Atlas随机生成相应的副本集名称。 |
| |
| 在其中创建此集群的 Kubernetes命名空间。 |
| |
| 与您的Atlas云服务提供商相对应的Kubernetes类。 通过调用以下命令查看可用类: 类名称列在命令输出的 注意您必须使用 |
| |
| 与所需Atlas实例大小相对应的Kubernetes服务计划。 通过调用以下命令查看可用计划: 计划名称列在命令输出的 |
| |
| 创建副本集的Atlas地区。 重要确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。如果部署 有关可用区域的列表,请参阅您的云服务提供商的Atlas文档: |
|
(可选)配置副本集部署的任何其他设置。
您可以在 spec.parameters.cluster 键下指定其他集群设置。这些设置对应于创建集群公共API方法的请求正文参数。
重要
以下API参数将被上一步中所需的 Atlas Open Service Broker 设置覆盖,因此不应指定这些参数:
providerSettings.instanceSizeNameproviderSettings.providerNamename
例子
此示例资源定义在 atlas命名空间中创建一个名为 my-atlas-cluster 的集群,该集群具有以下配置:
由集群范围 (
ClusterServiceBroker) Atlas Open Service Broker 管理Amazon Web Services作为云服务提供商
实例大小为
M10位于欧盟(法兰克福)地区
已禁用自动伸缩
已启用Atlas Cloud Provider Atlas 备份快照
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-atlas-cluster namespace: atlas spec: clusterServiceClassExternalName: mongodb-atlas-aws clusterServicePlanExternalName: M10 parameters: cluster: providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true
例子
此示例资源定义在 atlas命名空间中创建一个名为 my-atlas-cluster 的集群,该集群具有以下配置:
由命名空间范围 (
ServiceBroker) Atlas Open Service Broker 管理Amazon Web Services作为云服务提供商
实例大小为
M10位于欧盟(法兰克福)地区
已禁用自动伸缩
已启用Atlas Cloud Provider Atlas 备份快照
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-atlas-cluster namespace: atlas spec: serviceClassExternalName: mongodb-atlas-aws servicePlanExternalName: M10 parameters: cluster: providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true
部署副本集。
调用以下Kubernetes命令来创建副本集:
kubectl apply -f replica-set.yaml