Docs 菜单

Docs 主页Atlas Open Service Broker

将云提供商和实例大小列入白名单

在此页面上

  • 先决条件
  • Considerations
  • 步骤

重要

Atlas Open Service Broker 已弃用。 使用 MongoDB Atlas 操作符 相反。

您可以为使用 Atlas Open Service Broker 部署的 Atlas 集群指定允许的云服务提供商列表和实例大小。 此白名单可将 Atlas 集群限制为特定的云提供商和规模,从而帮助控制成本或确保合规性。 应用白名单并 部署集群 时,只有白名单中列出的提供程序和实例大小会显示在 服务目录 中。 市场。

您必须安装 Atlas Open Service Broker

白名单仅适用于通过 Atlas Open Service Broker 创建的 Atlas 集群。 通过用户界面在同一项目中创建的 Atlas 集群不受白名单限制。

您可以随时创建并应用白名单。 如果您的项目中已有 Atlas 集群,请确保其云服务提供商和实例大小包含在白名单中,以防止 Atlas Open Service Broker 可能出现问题。

1

白名单是一个JSON对象,其中包含每个云服务提供商的密钥。 每个云服务提供商键都将相应实例大小的数组作为其值。 要查看可用实例大小的列表,请参阅 Atlas Create a Cluster API 中的 providerSettings.instanceSizeName参数。

  1. 打开首选文本编辑器,使用以下键值对创建JSON文件:

    类型
    说明
    TENANT
    字符串数组

    共享 Atlas 租户上允许的实例大小数组。 支持的值为:

    • M2

    • M5

    注意

    您在部署集群时为spec.regionName设置指定的值决定了将集群部署到哪个云提供商。

    AWS
    字符串数组
    允许的 Amazon Web Services 实例大小数组。
    GCP
    字符串数组
    允许的 Google Cloud Platform 实例大小数组。
    AZURE
    字符串数组
    允许的 Microsoft Azure 实例大小的数组。

    例子

    此示例 JSON 文件将以下云服务提供商和实例大小列入白名单:

    • 共享 Atlas 租户: M2M5

    • Google Cloud Platform: M10M20M200

    • Amazon Web Services: M10M20M100M140

    • Microsoft Azure: M10M20M200

    {
    "TENANT": [
    "M2",
    "M5"
    ],
    "GCP": [
    "M10",
    "M20",
    "M200"
    ],
    "AWS": [
    "M10",
    "M20",
    "M100",
    "M140"
    ],
    "AZURE": [
    "M10",
    "M20",
    "M200"
    ]
    }
  2. 将此文件另存为providers-whitelist.json

2

您可以使用configMap资源将白名单数据添加到部署中。

调用以下命令从providers-whitelist.json文件创建名为providers-whitelistconfigMap资源:

kubectl create configmap providers-whitelist --from-file=providers-whitelist.json -n <NAMESPACE>
3
  1. 在首选文本编辑器中打开Deployment资源定义YAML文件。

    提示

    如果您按照安装教程进行操作,则会发现此资源在deployment-and-service.yaml中定义。

  2. 复制突出显示的参数,并将其粘贴到kind: Deployment资源定义中。

    这些参数指示 Kubernetes 挂载 ConfigMap 将此部署作为 在指定路径。

    spec:
    template:
    spec:
    containers:
    - name: atlas-service-broker
    image: quay.io/mongodb/mongodb-atlas-service-broker:latest
    ports:
    - containerPort: 4000
    env:
    - name: BROKER_HOST
    value: 0.0.0.0
    - name: PROVIDERS_WHITELIST_FILE
    value: <PATH_TO_WHITELIST_FILE>
    volumeMounts:
    - name: <VOLUME_NAME>
    mountPath: <PATH_TO_MOUNT_VOLUME>
    volumes:
    - name: <VOLUME_NAME>
    configMap:
    name: <CONFIGMAP_NAME>
  3. 配置所需的设置。

    说明
    例子
    spec.template.spec
    .containers.env.value
    白名单 JSON 文件的绝对路径。
    /etc/config/providers-whitelist.json
    spec.template.spec
    .containers.volumeMounts.name
    Name of the volume that contains the whitelist data.
    This value must match
    spec.template.spec.volumes.name.
    config-volume
    spec.template.spec
    .containers.mountPath.value
    在此部署中安装卷的绝对路径。
    /etc/config
    spec.template.spec
    .volumes.name
    Name of the volume that contains the whitelist data.
    This value must match
    spec.template.spec
    .containers.volumeMounts.name.
    config-volume
    spec.template.spec
    .volumes.configMap.name
    与白名单对应的configMap名称。
    providers-whitelist
  4. 保存Deployment资源定义。

4

调用以下 kubectl 命令:

kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>
分享反馈
© 2023 MongoDB, Inc.

关于MongoDB

  • 招贤纳士
  • 投资者关系
  • 法律声明
  • 隐私条款
  • 安全信息
  • 信任中心
© 2023 MongoDB, Inc.