Menu Docs
Página inicial do Docs
/
Corretor de serviço aberto do Atlas
/

Lista de permissões de fornecedor de nuvem e tamanhos de instâncias

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.

Você deve ter o Atlas Open Service Corretor instalado.

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.

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.

1

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.

  1. Abra seu editor de texto preferido e crie um arquivo JSON usando os seguintes pares de valores-chave:

    Chave
    Tipo
    Descrição

    TENANT

    array de strings

    Array de tamanhos de instância permitidos em locatários compartilhados do Atlas. Os valores suportados são:

    • M2

    • M5

    Observação

    O valor especificado para a configuração do spec.regionName ao distribuir um cluster determina para qual provedor de nuvem o cluster é distribuído.

    AWS

    array de strings

    Array de tamanhos de instância permitidos do Amazon Web Services.

    GCP

    array de strings

    Array de tamanhos de instância permitidos do Google Cloud Platform.

    AZURE

    array 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: M2 e M5

    • Google Cloud Platform: M10, M20 e M200

    • Amazon Web Services: M10, M20, M100 e M140

    • Microsoft Azure: M10, M20 e M200

    {
    "TENANT": [
    "M2",
    "M5"
    ],
    "GCP": [
    "M10",
    "M20",
    "M200"
    ],
    "AWS": [
    "M10",
    "M20",
    "M100",
    "M140"
    ],
    "AZURE": [
    "M10",
    "M20",
    "M200"
    ]
    }
  2. Salve este arquivo como providers-whitelist.json.

2

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>
3
  1. Abra seu arquivo YAML de definição de recurso Deployment no 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.

  2. 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>
  3. Configure as configurações necessárias.

    Chave
    Descrição
    Exemplo
    spec.template.spec
    .containers.env.value

    Caminho absoluto para o arquivo JSON da lista de permissões.

    /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

    Caminho absoluto para montar o volume nesta implantação.

    /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

    Nome do configMap que corresponde à lista de permissões.

    providers-whitelist

  4. Salve a definição de recurso do Deployment .

4

Invoque o seguinte kubectl comando:

kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>

Nesta página