Importante
Atlas Open Service Broker está obsoleto. Utilice el Operador Atlas de MongoDB en su lugar.
You can specify a list of allowed cloud service providers and instance sizes for Atlas clusters deployed with the Atlas Open Service Broker. This whitelist can help control costs or ensure compliance by limiting Atlas clusters to certain cloud providers and sizes. When you apply a whitelist and then deploy a cluster, only the providers and instance sizes listed in the whitelist appear in the Service Catalog marketplace.
Requisitos previos
Considerations
Alcance de la lista blanca
La lista blanca solo se aplica a los clústeres de Atlas creados mediante Atlas Open Service Broker. Los clústeres de Atlas creados en el mismo proyecto mediante la interfaz de usuario no están sujetos a esta lista.
Clústeres existentes
Puede crear y aplicar una lista blanca en cualquier momento. Si ya tiene clústeres de Atlas en su proyecto, asegúrese de que sus proveedores de servicios en la nube y el tamaño de sus instancias estén incluidos en la lista blanca para evitar posibles problemas con Atlas Open Service Broker.
Procedimiento
Create a whitelist JSON file.
The whitelist is a JSON object that contains a key for each cloud service provider. Each cloud service provider key takes an array of corresponding instance sizes as its value. To view a list of available instance sizes, see the
providerSettings.instanceSizeName parameter in the Atlas Create a Cluster API.
Open your preferred text editor and create a JSON file using the following key-value pairs:
ClaveTipoDescripciónTENANTmatriz de cadenas
Matriz de tamaños de instancia permitidos en inquilinos Atlas compartidos. Los valores admitidos son:
M2M5
Nota
El valor que especifiques para la configuración
spec.regionNameal implementar un clúster determina con qué proveedor de nube se implementará el clúster.AWSmatriz de cadenas
Matriz de tamaños de instancias de Amazon Web Services permitidos.
GCPmatriz de cadenas
Matriz de tamaños de instancias de Google Cloud Platform permitidos.
AZUREmatriz de cadenas
Matriz de tamaños de instancias de Microsoft Azure permitidos.
Ejemplo
Este archivo JSON de ejemplo incluye en la lista blanca los siguientes proveedores de servicios en la nube y tamaños de instancia:
Inquilinos compartidos de Atlas:
M2yM5Google Cloud Platform:
M10,M20yM200Servicios web de Amazon:
M10,M20,M100yM140Microsoft Azure:
M10,M20yM200
{ "TENANT": [ "M2", "M5" ], "GCP": [ "M10", "M20", "M200" ], "AWS": [ "M10", "M20", "M100", "M140" ], "AZURE": [ "M10", "M20", "M200" ] } Guarde este archivo como
providers-whitelist.json.
Create a ConfigMap object from your JSON file.
Utilice un recurso configMap para agregar los datos de la lista blanca a su implementación.
Invoke the following command to create a configMap resource named providers-whitelist from the providers-whitelist.json file:
kubectl create configmap providers-whitelist --from-file=providers-whitelist.json -n <NAMESPACE>
Edit your Deployment resource definition.
Open your
Deploymentresource definition YAML file in your preferred text editor.Tip
Si siguió el tutorial de instalación, este recurso está definido
deployment-and-service.yamlen.Copie los parámetros resaltados y péguelos en la definición del recurso
kind: Deployment.Estos parámetros indican a Kubernetes que monte ConfigMap en esta implementación como un volumen en la ruta especificada.
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> Configure los ajustes necesarios.
ClaveDescripciónEjemplospec.template.spec.containers.env.valueRuta absoluta al archivo JSON de la lista blanca.
/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.valueRuta absoluta para montar el volumen en esta implementación.
/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.nameNombre del
configMapque corresponde a la lista blanca.providers-whitelistGuarde la definición del recurso
Deployment.
Vuelva a implementar Atlas Open Service Broker.
Invoque el siguiente comando kubectl:
kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>