Docs 菜单
Docs 主页
/
Atlas Open Service Broker
/

部署副本集

重要

Atlas Open Service Broker 已弃用。请改用 MongoDB Atlas Operator

A 副本集 是一群组维护相同数据集的MongoDB部署。副本集提供冗余和高可用性,是所有生产部署的基础。

要了解有关副本集的更多信息,请参阅 MongoDB 手册中的复制简介

您可以使用 Atlas Open Service Broker 部署由 Atlas 托管的新副本集。 部署后,使用 Atlas 管理监控、备份和项目配置,例如 VPC 对等互连或计费。

您可以通过定义对象来创建Atlas副本集。要使用Kubernetes对象部署副本集,必须先安装Atlas Open Service Broker。

Atlas Open Service Broker 使用 Atlas Public API 的 创建集群 端点来部署副本集。API的任何要求或限制也应用于Atlas Open Service Broker。

1
  1. 根据 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>
  2. 打开首选文本编辑器,将资源定义粘贴到新的文件中。

2

部署副本集需要突出显示的设置:

说明
例子

metadata.name

Kubernetes中集群的名称。Atlas随机生成相应的副本集名称。

my-atlas-cluster

metadata.namespace

在其中创建此集群的 Kubernetes命名空间

atlas

spec.clusterServiceClassExternalName

与您的Atlas云服务提供商相对应的Kubernetes类。

通过调用以下命令查看可用类:

svcat marketplace -n <NAMESPACE>

类名称列在命令输出的 CLASS 列中。

注意

您必须使用 mongodb-atlas-tenant 类来部署M2M5副本集。您为 spec.regionName 设置指定的值决定了将集群部署到哪个云提供商。

mongodb-atlas-aws

spec.clusterServicePlanExternalName

与所需Atlas实例大小相对应的Kubernetes服务计划。

通过调用以下命令查看可用计划:

svcat marketplace -n <NAMESPACE>

计划名称列在命令输出的 PLANS 列中。

M10

spec.regionName

创建副本集的Atlas地区。

重要

确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。如果部署M2M5 集群,请确保选择的地区支持这些集群大小。

有关可用区域的列表,请参阅您的云服务提供商的Atlas文档:

EU_CENTRAL_1

说明
例子

metadata.name

Kubernetes中集群的名称。Atlas随机生成相应的副本集名称。

my-atlas-cluster

metadata.namespace

在其中创建此集群的 Kubernetes命名空间

atlas

spec.serviceClassExternalName

与您的Atlas云服务提供商相对应的Kubernetes类。

通过调用以下命令查看可用类:

svcat marketplace -n <NAMESPACE>

类名称列在命令输出的 CLASS 列中。

注意

您必须使用 mongodb-atlas-tenant 类来部署M2M5副本集。您为 spec.regionName 设置指定的值决定了将集群部署到哪个云提供商。

mongodb-atlas-aws

spec.servicePlanExternalName

与所需Atlas实例大小相对应的Kubernetes服务计划。

通过调用以下命令查看可用计划:

svcat marketplace -n <NAMESPACE>

计划名称列在命令输出的 PLANS 列中。

M10

spec.regionName

创建副本集的Atlas地区。

重要

确保对所需地区使用Atlas地区名称,而不是云提供商地区名称。如果部署M2M5 集群,请确保选择的地区支持这些集群大小。

有关可用区域的列表,请参阅您的云服务提供商的Atlas文档:

EU_CENTRAL_1

3

您可以在 spec.parameters.cluster 键下指定其他集群设置。这些设置对应于创建集群公共API方法的请求正文参数。

重要

以下API参数将被上一步中所需的 Atlas Open Service Broker 设置覆盖,因此不应指定这些参数:

  • providerSettings.instanceSizeName

  • providerSettings.providerName

  • name

例子

此示例资源定义在 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
4
5

调用以下Kubernetes命令来创建副本集:

kubectl apply -f replica-set.yaml
6

要查看部署状态,请将metadata.namereplica-set.yaml传递到以下命令:

svcat describe instance <METADATA.NAME> -n <NAMESPACE>

部署副本集时,该命令会返回以下状态:

Provisioning - The instance is being provisioned asynchronously

成功部署副本集后,该命令将返回以下状态:

Ready - The instance was provisioned successfully

后退

数据库部署

在此页面上