Menu Docs

Página inicial do DocsCorretor de serviço aberto do Atlas

Instalar e configurar o Atlas Open Service Agent

Nesta página

Importante

O Atlas Open Service Corretor está obsoleto. Em vez disso, use MongoDB Atlas Operator .

Observação

Este tutorial pressupõe algum conhecimento do Kubernetes, mas vincula à documentação relevante do Kubernetes sempre que possível. Se você não estiver familiarizado com o Kubernetes, consulte primeiro a documentação do Kubernetes.

Para instalar o Atlas Open Service Agent, você deve:

  1. Configure um método de pagamento para o faturamento do Atlas.

  2. Crie um projeto no qual seus clusters serão distribuídos.

  3. Ter ou gerar uma chave de API programática.

    1. Conceda a essa nova chave de API programática a role de proprietário do projeto .

    2. Adicione o blocoIP ou CIDR de quaisquer hosts que atendam ao Atlas Open Service Corretor na lista de permissões da API.

  1. Tenha uma solução Kubernetes disponível para uso.

    Se você precisar de uma solução Kubernetes, consulte a documentação do Kubernetes para saber como escolher a solução correta.

  2. Instalar o Catálogo de Serviços do Kubernetes .

  3. Instale o Kubernetes Service Catalog CLI.

O Atlas Open Service Corretor é compatível com:

Ao criar uma instância do Atlas Open Service Agent, você a registra no Kubernetes como um clusterServiceBroker com escopo de cluster ou um serviceBroker com escopo de namespace.

Para obter mais informações sobre os casos de uso de agentes com escopo de cluster e com escopo de namespace, consulte a documentação do Kubernetes Service Catalog.

Uma instância do Atlas Open Service Agent registrada como ClusterServiceBroker está disponível para todo o cluster Kubernetes. Ao implantar um conjunto de réplicas ou um cluster fragmentado do Atlas, você deve utilizar os recursos clusterServiceClass e clusterServicePlan associados.

Uma instância do Atlas Open Service Agent registrada como ServiceBroker está disponível apenas para um único namespace dentro do cluster Kubernetes. Ao implantar um conjunto de réplicas ou cluster fragmentado do Atlas, você deve utilizar os recursos do serviceClass e servicePlan com escopo para o mesmo namespace.

Ao criar uma instância do Atlas Open Service Corretor, você pode implantar:

  • Uma única instância do Atlas Open Service Agent com escopo para todo o cluster Kubernetes ou

  • Várias instâncias do Atlas Open Service Agent com escopo para seus próprios namespaces dentro do cluster Kubernetes

    Importante

    Se você optar por implantar várias instâncias do Atlas Open Service Agent, implante apenas uma instância por namespace . Várias instâncias do Atlas Open Service Agent não podem ser coordenadas umas com as outras dentro do mesmo namespace.

Para implantar o Atlas Open Service Corretor no Kubernetes, utilize o seguinte procedimento.

1

Para simplificar sua instalação, considere criar um namespace rotulado atlas usando o seguinte kubectl comando:

kubectl create namespace atlas

Se não quiser usar o namespace atlas , você pode rotular seu namespace como quiser:

kubectl create namespace <NAMESPACE_NAME>
2
  1. Copie o seguinte exemplo de definição de recurso.

    Este é um arquivo YAML que você pode modificar para atender à configuração desejada. Inclui as especificações Deployment e Service .

    Observação

    O exemplo utiliza atlas-service-broker como o nome do sistema, nome do serviço e etiqueta do pod. Você pode atualizar esses campos com outros valores, desde que seja consistente entre os recursos.

    ---
    # Deployment to run the service broker.
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: atlas-service-broker
    labels:
    app: atlas-service-broker
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: atlas-service-broker
    template:
    metadata:
    labels:
    app: atlas-service-broker
    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"
    ---
    # Service to expose the service broker inside the cluster.
    apiVersion: v1
    kind: Service
    metadata:
    name: atlas-service-broker
    labels:
    app: atlas-service-broker
    spec:
    selector:
    # Will match pods deployed by the "atlas-service-broker" deployment.
    app: atlas-service-broker
    ports:
    - protocol: TCP
    port: 80
    targetPort: 4000
  2. Abra seu editor de texto preferido e cole a definição do recurso em um novo arquivo de texto.

  3. Confirme ou edite a porta do container na qual o servidor Atlas Open Service Agent escuta.

    Resource
    Variável de ambiente
    Descrição
    Default
    Deployment
    spec.template.spec
    .containers.ports.containerPort

    A porta na qual o servidor Atlas Open Service Agent escuta.

    Deve corresponder ao valor de targetPort no recurso Service .

    4000
    Service
    spec.ports.targetPort

    A porta na qual o servidor Atlas Open Service Agent escuta.

    Deve corresponder ao valor de containerPort no recurso Deployment .

    4000
  4. Salve o arquivo como deployment-and-service.yaml.

3

Use o seguinte kuberctl comando:

kubectl apply -f deployment-and-service.yaml -n <NAMESPACE>
4

Para o Atlas Open Service Corretor criar ou atualizar objetos em seu projeto Atlas, você precisa armazenar sua chave de API programática e o ID do projeto como um segredo Kubernetes .

Vários segredos podem existir no mesmo namespace.

Para criar seu segredo do Kubernetes:

  1. Verifique se você tem o seguinte:

    • Chaves pública e privada para a chave de API programática do Atlas desejada.

      Se você não tiver uma chave de API programática, gere uma nova chave de API programática.

    • O ID do projeto do seu projeto Atlas.

  2. Copie o seguinte exemplo de definição de recurso.

    Este é um YAML que você pode modificar para atender à configuração desejada.

    apiVersion: v1
    kind: Secret
    metadata:
    name: <SECRET_NAME>
    type: Opaque
    stringData:
    username: <PUBLIC_KEY>@<PROJECT_ID>
    password: <PRIVATE_KEY>
  3. Edite os seguintes campos:

    Nome do campo
    Descrição
    stringData.username
    Sua Chave Pública do Atlas seguida por @ e seu ID do projeto.
    stringData.password
    Sua chave privada Atlas.

    O username e o password são usados para autenticação Básica no Atlas Open Service Corretor.

    Exemplo

    apiVersion: v1
    kind: Secret
    metadata:
    name: atlas-service-broker-auth
    type: Opaque
    stringData:
    username: ABCAXNVY@5d49a272ce4bd97b2e1234abc
    password: 123e8d75-cxfb-x012-bx5c-abc4356e3xyz
  4. Salve o arquivo como secret.yaml.

  5. Invoque o seguinte comando do Kubernetes para criar seu segredo:

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

    A -n bandeira limita o namespace ao qual este segredo se aplica.

  6. Invoque o seguinte comando do Kubernetes para verificar seu segredo:

    kubectl describe secrets/<SECRET_NAME> -n <NAMESPACE>

    Este comando retorna uma descrição secreta na shell:

    Name: <SECRET_NAME>
    Namespace: <NAMESPACE>
    Labels: <none>
    Annotations:
    Type: Opaque
    Data
    ====
    password: 36 bytes
    username: 36 bytes
5
  1. Copie o seguinte exemplo de definição de recurso.

    Este é um arquivo YAML que você pode modificar para atender à configuração desejada.

    apiVersion: servicecatalog.k8s.io/v1beta1
    kind: <SERVICE_BROKER_SCOPE>
    metadata:
    name: atlas-service-broker
    spec:
    url: http://<SERVICE_NAME>.<NAMESPACE>
    authInfo:
    basic:
    secretRef:
    name: <SECRET_NAME>
    namespace: <NAMESPACE>
  2. Edite os seguintes campos:

    Nome do campo
    Descrição
    kind

    Esse valor determina se o Atlas Open Service Corretor está disponível para todo o cluster Kubernetes ou para apenas um único namespace dentro do cluster Kubernetes. Para obter mais informações sobre os recursos do agente de serviços,consulte a documentação do Catálogo de serviços.

    Os valores possíveis são:

    ServiceBroker
    Implanta o Atlas Open Service Agent com escopo para apenas um único namespace. Quaisquer cluster do Atlas devem ser provisionados no mesmo namespace que o Atlas Open Service Agent.
    ClusterServiceBroker
    Implanta o Atlas Open Service Agent com escopo em um cluster Kubernetes inteiro. Cluster do Atlas podem ser provisionados em qualquer namespace.
    spec.url

    A URL do intermediário no formato http://<SERVICE_NAME>.<NAMESPACE>.

    <SERVICE_NAME> é o valor de metadata.name no seu recurso Service .

    Exemplo

    http://atlas-service-broker.atlas
    spec.authInfo
    .basic.secretRef.name
    O nome do segredo do Kubernetes que você criou na etapa anterior.
    spec.authInfo
    .basic.secretRef.namespace
    Seu namespace.
  3. Salve o arquivo como service-broker.yaml.

6

Use o seguinte kuberctl comando:

kubectl apply -f service-broker.yaml -n <NAMESPACE>
7
svcat get brokers -n <NAMESPACE>

O comando retorna o status do intermediário. Se o status do intermediário não aparecer, aguarde alguns momentos e invoque o comando novamente.

Exemplo

O exemplo a seguir mostra o status de um agente que foi definido como ClusterServiceBroker. Como esse agente é implantado no nível do cluster, não há namespace.

NAME NAMESPACE URL STATUS
+----------------------+-----------+-----------------------------------+--------+
atlas-service-broker http://atlas-service-broker.atlas Ready

Se o seu agente tiver um status diferente de Ready, passe o metadata.name de service-broker.yaml para o seguinte comando para visualizar uma mensagem de erro detalhada:

svcat describe broker <METADATA.NAME> -n <NAMESPACE>

Após instalar o Atlas Open Service Corretor, você pode:

Compartilhar feedback
© 2023 MongoDB, Inc.

Sobre

© 2023 MongoDB, Inc.