Docs 主页 → Atlas Open Service Broker
将云提供商和实例大小列入白名单
在此页面上
重要
Atlas Open Service Broker 已弃用。 使用 MongoDB Atlas 操作符 相反。
您可以为使用 Atlas Open Service Broker 部署的 Atlas 集群指定允许的云服务提供商列表和实例大小。 此白名单可将 Atlas 集群限制为特定的云提供商和规模,从而帮助控制成本或确保合规性。 应用白名单并 部署集群 时,只有白名单中列出的提供程序和实例大小会显示在 服务目录 中。 市场。
先决条件
您必须安装 Atlas Open Service Broker 。
Considerations
白名单范围
白名单仅适用于通过 Atlas Open Service Broker 创建的 Atlas 集群。 通过用户界面在同一项目中创建的 Atlas 集群不受白名单限制。
现有集群
您可以随时创建并应用白名单。 如果您的项目中已有 Atlas 集群,请确保其云服务提供商和实例大小包含在白名单中,以防止 Atlas Open Service Broker 可能出现问题。
步骤
创建白名单 JSON文件。
白名单是一个JSON对象,其中包含每个云服务提供商的密钥。 每个云服务提供商键都将相应实例大小的数组作为其值。 要查看可用实例大小的列表,请参阅 Atlas Create a Cluster API 中的 providerSettings.instanceSizeName参数。
打开首选文本编辑器,使用以下键值对创建JSON文件:
键类型说明TENANT字符串数组共享 Atlas 租户上允许的实例大小数组。 支持的值为:
M2M5
注意
您在部署集群时为
spec.regionName设置指定的值决定了将集群部署到哪个云提供商。AWS字符串数组允许的 Amazon Web Services 实例大小数组。GCP字符串数组允许的 Google Cloud Platform 实例大小数组。AZURE字符串数组允许的 Microsoft Azure 实例大小的数组。例子
此示例 JSON 文件将以下云服务提供商和实例大小列入白名单:
共享 Atlas 租户:
M2和M5Google Cloud Platform:
M10、M20和M200Amazon Web Services:
M10、M20、M100和M140Microsoft Azure:
M10、M20和M200
{ "TENANT": [ "M2", "M5" ], "GCP": [ "M10", "M20", "M200" ], "AWS": [ "M10", "M20", "M100", "M140" ], "AZURE": [ "M10", "M20", "M200" ] } 将此文件另存为
providers-whitelist.json。
创建 ConfigMap JSON 文件中的对象。
您可以使用configMap资源将白名单数据添加到部署中。
调用以下命令从providers-whitelist.json文件创建名为providers-whitelist的configMap资源:
kubectl create configmap providers-whitelist --from-file=providers-whitelist.json -n <NAMESPACE>
编辑Deployment资源定义。
在首选文本编辑器中打开
Deployment资源定义YAML文件。提示
如果您按照安装教程进行操作,则会发现此资源在
deployment-and-service.yaml中定义。复制突出显示的参数,并将其粘贴到
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> 配置所需的设置。
键说明例子spec.template.spec.containers.env.value白名单 JSON 文件的绝对路径。/etc/config/providers-whitelist.jsonspec.template.spec.containers.volumeMounts.nameName of the volume that contains the whitelist data.This value must matchspec.template.spec.volumes.name.config-volumespec.template.spec.containers.mountPath.value在此部署中安装卷的绝对路径。/etc/configspec.template.spec.volumes.nameName of the volume that contains the whitelist data.This value must matchspec.template.spec.containers.volumeMounts.name.config-volumespec.template.spec.volumes.configMap.name与白名单对应的configMap名称。providers-whitelist保存
Deployment资源定义。
重新部署 Atlas Open Service Broker。
调用以下 kubectl 命令:
kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>