Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Início rápido

Você pode usar o Atlas Kubernetes Operator para managed recursos no Atlas sem sair do Kubernetes. Este tutorial demonstra como criar seu primeiro cluster no Atlas a partir de arquivos de configuração do Kubernetes com o Atlas Kubernetes Operator.

Aviso

Orientação de segurança de vários locatários

Não compartilhe uma única instalação do Atlas Kubernetes Operator entre vários locatários, mesmo que eles usem namespace diferentes. Os locatários que compartilham um operador podem usar referências entre namespace para acessar recursos em outros namespace, incluindo segredos que fornecem acesso às configurações do Atlas de outros locatários ou a outros recursos da nuvem. Para isolar locatários, implante uma instância separada do Atlas Kubernetes Operator para cada locatário.

Observação

Você prefere começar com Helm?

Para criar seu primeiro cluster no Atlas a partir do Helm Charts com o Atlas Kubernetes Operator, consulte o Início Rápido do Helm Charts.

Este tutorial requer:

Importante

Os Recursos Personalizados Não Excluem Mais Objetos por Padrão

  • O Atlas Kubernetes Operator utiliza arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas , mas a partir do Atlas Kubernetes Operator,2.0 os recursos personalizados que você exclui no Kubernetes não são mais (por padrão) excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos no Atlas. Por exemplo, se você excluir um AtlasProject Recurso Personalizado no Kubernetes, por padrão, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas. Essa mudança no comportamento destina-se a ajudar a evitar exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes Operator.,2 0consulte Novo padrão: Proteção de exclusão no Atlas Kubernetes 2 0Operator..

    Da mesma forma, o Atlas Kubernetes Operator não exclui equipes do Atlas se você as remover de um projeto do Atlas no Kubernetes com o Atlas Kubernetes Operator.

  • Defina explicitamente os detalhes de configuração desejados para evitar o uso implícito de valores de configuração padrão do Atlas . Em alguns casos, herdar os padrões do Atlas pode resultar em um loop de reconciliação que pode impedir que seu recurso personalizado atinja um estado READY. Por exemplo, definir explicitamente o comportamento de autoscaling desejado em seu recurso personalizado AtlasDeployment, conforme mostrado no exemplo incluído, garante que um tamanho de instância estática em seu recurso personalizado não esteja sendo aplicado repetidamente a um sistema do Atlas que tenha o autoscaling ativado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40
1

Registre-se e faça login no Atlas ou Registre-se e faça login no Atlas.

2

Escolha um dos seguintes métodos para instalar o Atlas Kubernetes Operator:

Para instalar o Atlas Kubernetes Operator utilizando o Atlas CLI, execute o seguinte comando:

Importante

O Atlas CLI cria uma chave de API, mas não consegue detectar o IP de saída do seu cluster. Use o sinalizador --ipAccessList para adicionar à lista de permissões o bloco de IP ou CIDR do seu cluster Kubernetes para que o Atlas Kubernetes Operator possa se comunicar com o Atlas.

atlas kubernetes operator install --ipAccessList <IP_OR_CIDR> [options]

Observação

Para instalar o Atlas Kubernetes Operator para o Atlas for Government, anexe o sinalizador --atlasGov ao comando anterior.

Este comando automaticamente:

  • Cria uma nova chave de API na sua organização Atlas.

  • Adiciona o IP/CIDR fornecido à chave de API's lista de acesso IP.

  • Instala o Atlas Kubernetes Operator em seu cluster Kubernetes buscando os manifestos do GitHub.

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação da Atlas CLI do Atlas para a instalação do Atlas Kubernetes Operator .

Para instalar o Atlas Kubernetes Operator utilizando o kubectl, siga estes passos:

  1. Substitua <VERSION> pelo número da versão mais recente e execute um dos seguintes comandos:

    • Se você deseja que o Atlas Kubernetes Operator observe todos os namespaces no cluster Kubernetes, execute:

      kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/refs/heads/main/releases/v<VERSION>/deploy/all-in-one.yaml
    • Se você desejar que o Atlas Kubernetes Operator observe somente seu namespace, instale os arquivos de configuração a partir do diretório deploy/namespaced:

      kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/v<VERSION>/deploy/namespaced/crds.yaml
      kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/v<VERSION>/deploy/namespaced/namespaced-config.yaml
  2. Crie uma chave de API com permissões Organization Project Creator ou Project Owner seguindo o procedimento em Conceder Acesso Programático a uma Organização.

3

Para criar e rotular um segredo, execute os seguintes comandos com suas chaves de API e ID da organização:

kubectl create secret generic mongodb-atlas-operator-api-key \
--from-literal="orgId=<atlas_organization_id>" \
--from-literal="publicApiKey=<atlas_api_public_key>" \
--from-literal="privateApiKey=<atlas_api_private_key>" \
-n mongodb-atlas-system
kubectl label secret mongodb-atlas-operator-api-key atlas.mongodb.com/type=credentials -n mongodb-atlas-system

Se você usar o armazenamento externo de segredos, não precisará colocar informações confidenciais diretamente nos segredos do Kubernetes. Para saber mais, consulte Configurar Armazenamento Secreto.

4

Execute o seguinte comando para criar o Recurso Personalizado doAtlasProject :

Observação

O exemplo a seguir não especifica spec.connectionSecretRef.name. Se não for especificado, o Atlas Kubernetes Operator utilizará o segredo de conexão padrão definido anteriormente com suas chaves de API e ID da organização.

Implemente o recurso personalizado do Atlas Kubernetes Operator .

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Atlas Operator Project
projectIpAccessList:
- ipAddress: <your-ip-address-range>
comment: "Adding your IP to Atlas access list"
EOF
5

Execute um dos seguintes comandos para criar um AtlasDeployment Recurso Personalizado e criar um cluster:

Nível pago:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
spec:
projectRef:
name: my-project
deploymentSpec:
clusterType: REPLICASET
name: "Test-cluster"
tags:
- key: "environment"
value: "production"
replicationSpecs:
- zoneName: US-Zone
regionConfigs:
- electableSpecs:
instanceSize: M10
nodeCount: 3
providerName: AWS
regionName: US_EAST_1
priority: 7
EOF

Nível gratuito:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
spec:
projectRef:
name: my-project
deploymentSpec:
clusterType: REPLICASET
name: "Test-cluster"
replicationSpecs:
- regionConfigs:
- regionName: US_EAST_1
providerName: TENANT
backingProviderName: AWS
electableSpecs:
instanceSize: M0
nodeCount: 3
EOF

Para criar uma instância sem servidor, consulte o exemplo de instância sem servidor.

6

Substitua P@@ssword% pela sua senha e execute os seguintes comandos:

kubectl create secret generic the-user-password --from-literal="password=P@@sword%"
kubectl label secret the-user-password atlas.mongodb.com/type=credentials

Se você usar o armazenamento externo de segredos, não precisará colocar informações confidenciais diretamente nos segredos do Kubernetes. Para saber mais, consulte Configurar Armazenamento Secreto.

7

Execute o seguinte comando para criar o Recurso Personalizado doAtlasDatabaseUser :

Observação

spec.passwordSecretRef deve fazer referência à senha que você criou anteriormente.

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDatabaseUser
metadata:
name: my-database-user
spec:
roles:
- roleName: "readWriteAnyDatabase"
databaseName: "admin"
projectRef:
name: my-project
username: theuser
passwordSecretRef:
name: the-user-password
EOF
8

Execute o seguinte comando até receber uma resposta do True , que indica que o trigger de reconhecimento de data center está pronto:

Observação

O AtlasDatabaseUser Recurso Personalizado espera até que o cluster esteja pronto. A criação de um novo cluster Atlas de camada grátis leva menos de 15 segundos. A criação de um novo cluster flexível ou cluster dedicado pode levar até 10 minutos.

kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
9
  1. Copie o seguinte comando:

    Importante

    O comando a seguir requer jq 1.6 ou superior.

    kubectl get secret {my-project}-{my-atlas-cluster}-{my-database-user} -o json | jq -r '.data | with_entries(.value |= @base64d)';
  2. Substitua os seguintes espaços reservados pelos detalhes dos seus recursos personalizados:

    my-project

    Especifique o valor do campo metadata do seu Recurso PersonalizadoAtlasProject .

    my-atlas-cluster

    Especifique o valor do campo metadata do seu Recurso PersonalizadoAtlasDeployment .

    my-database-user

    Especifique o valor do campo metadata do seu Recurso PersonalizadoAtlasDatabaseUser .

  3. Execute o comando.

    Observação

    Sua string de conexão será diferente do exemplo a seguir.

    {
    "connectionStringStandard": "mongodb://theuser:P%40%40sword%25@test-cluster-shard-00-00.peqtm.mongodb.net:27017,test-cluster-shard-00-01.peqtm.mongodb.net:27017,test-cluster-shard-00-02.peqtm.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-pk82fl-shard-0",
    "connectionStringStandardSrv": "mongodb+srv://theuser:P%40%40sword%25@test-cluster.peqtm.mongodb.net",
    "password": "P@@sword%",
    "username": "theuser"
    }

    Você pode usar este segredo em seu aplicação:

    containers:
    - name: test-app
    env:
    - name: "CONNECTION_STRING"
    valueFrom:
    secretKeyRef:
    name: test-atlas-operator-project-test-cluster-theuser
    key: connectionStringStandardSrv