Importante
O Atlas Open Service Corretor está obsoleto. Em vez disso, use o Operador do MongoDB Atlas.
Você pode especificar uma lista de provedores de serviços de nuvem permitidos e tamanhos de instância para clusters Atlas implementados com o Atlas Open Service Corretor. Essa lista de permissões pode ajudar a controlar os custos ou garantir a conformidade, limitando os clusters do Atlas a determinados fornecedores e tamanhos de nuvem. Quando você aplica uma lista de permissões e, em seguida,distribui um cluster, somente os provedores e os tamanhos de instância listados na lista de permissões aparecem no marketplace do Catálogo de serviços.
Pré-requisitos
Você deve ter o Atlas Open Service Corretor instalado.
Considerações
Escopo da lista de permissões
A lista de permissões se aplica apenas a clusters Atlas criados por meio do Atlas Open Service Corretor. Os clusters do Atlas criados no mesmo projeto por meio da interface do usuário não são limitados pela lista de permissões.
Clusters existentes
Você pode criar e aplicar uma lista de permissões a qualquer momento. Se você tiver Atlas clusters existentes em seu projeto, certifique-se de que seus provedores de serviços de nuvem e tamanhos de instância estejam incluídos na lista de permissões para evitar possíveis problemas com o Atlas Open Service Corretor.
Procedimento
Crie um arquivo JSON da lista de permissões .
A lista de permissões é um objeto JSON que contém uma chave para cada provedor de serviços de nuvem. Cada chave de provedor de serviços de nuvem usa uma array de tamanhos de instância correspondentes como seu valor. Para visualizar uma lista de tamanhos de instância disponíveis, consulte o parâmetro providerSettings.instanceSizeName na API Atlas Create a Cluster.
Abra seu editor de texto preferido e crie um arquivo JSON usando os seguintes pares de valores-chave:
ChaveTipoDescriçãoTENANTarray de strings
Array de tamanhos de instância permitidos em locatários compartilhados do Atlas. Os valores suportados são:
M2M5
Observação
O valor especificado para a configuração do
spec.regionNameao distribuir um cluster determina para qual provedor de nuvem o cluster é distribuído.AWSarray de strings
Array de tamanhos de instância permitidos do Amazon Web Services.
GCParray de strings
Array de tamanhos de instância permitidos do Google Cloud Platform.
AZUREarray de strings
Array de tamanhos de instância permitidos do Microsoft Azure.
Exemplo
Este exemplo de arquivo JSON lista os seguintes provedores de serviços de nuvem e tamanhos de instância:
Locatários do Atlas compartilhado:
M2eM5Google Cloud Platform:
M10,M20eM200Amazon Web Services:
M10,M20,M100eM140Microsoft Azure:
M10,M20eM200
{ "TENANT": [ "M2", "M5" ], "GCP": [ "M10", "M20", "M200" ], "AWS": [ "M10", "M20", "M100", "M140" ], "AZURE": [ "M10", "M20", "M200" ] } Salve este arquivo como
providers-whitelist.json.
Crie um objeto ConfigMap a partir do seu arquivo JSON.
Você usa um recurso configMap para adicionar os dados da lista de permissões ao seu sistema.
Invoque o seguinte comando para criar um recurso configMap denominado providers-whitelist a partir do arquivo providers-whitelist.json :
kubectl create configmap providers-whitelist --from-file=providers-whitelist.json -n <NAMESPACE>
Edite sua definição de recurso do Deployment.
Abra seu arquivo YAML de definição de recurso
Deploymentno editor de texto de sua preferência.Dica
Se você seguiu o tutorial de instalação , esse recurso será definido em
deployment-and-service.yaml.Copie os parâmetros realçados e cole-os na definição do recurso
kind: Deployment.Estes parâmetros direcionam o Kubernetes para montar o ConfigMap para esta implantação como um volume no caminho especificado.
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 as configurações necessárias.
ChaveDescriçãoExemplospec.template.spec.containers.env.valueCaminho absoluto para o arquivo JSON da lista de permissões.
/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.valueCaminho absoluto para montar o volume nesta implantação.
/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.nameNome do
configMapque corresponde à lista de permissões.providers-whitelistSalve a definição de recurso do
Deployment.
Reimplante o Atlas Open Service Corretor.
Invoque o seguinte kubectl comando:
kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>