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.
Menu Docs

Início rápido dos Charts do Helm

Você pode utilizar o Atlas Kubernetes Operator para gerenciar recursos no Atlas sem sair do Kubernetes. Este tutorial mostra como criar seu primeiro cluster no Atlas a partir do Helm Charts com o Atlas Kubernetes Operator.

Observação

Você prefere começar sem o Helm?

Para criar seu primeiro cluster no Atlas a partir de arquivos de configuração do Kubernetes com o Atlas Kubernetes Operator, consulte Início Rápido.

Este tutorial requer:

  • Um cluster Kubernetes em execução com nós executando processadores com a arquitetura x86-64, AMD64 ou ARM64.

Você pode acessar o projeto Atlas Kubernetes Operator no GitHub:

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

Register and Log in to Atlas or Register and Log in to Atlas.

2

Observação

Você precisa das seguintes informações da chave de API pública, chave de API privada e ID da organização para configurar o acesso do Atlas Kubernetes Operator ao Atlas.

Grant Programmatic Access to an Organization and configure the API Access List.

Você precisa das seguintes informações da chave de API pública, chave de API privada e ID da organização para configurar o acesso do Atlas Kubernetes Operator ao Atlas.

  • Se você quiser que o Atlas Kubernetes Operator crie um novo projeto do Atlas , concedaacesso programático a uma organização. Se sua organização exigir uma lista de acesso IP para a Atlas Administration API, você também deverá configurar a lista de acesso da API.

    Importante

    Você deve atribuir a chave API ao role da organização Organization Project Creator ou superior.

  • Se você quiser trabalhar com um projeto Atlas existente, adicione acesso a um projeto. Se sua organização exigir uma lista de acesso IP para a Atlas Administration API, você também deverá configurar a lista de acesso da API.

    Importante

    Você deve atribuir à chave de API ao role de projeto Project Owner .

3

Execute um dos seguintes conjuntos de comandos:

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

    helm repo add mongodb https://mongodb.github.io/helm-charts
    helm install atlas-operator --namespace=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
  • Se você quiser que o Atlas Kubernetes Operator observe um conjunto específico de namespaces, defina o sinalizador --watchNamespaces como uma lista separada por vírgulas de namespaces a serem observados. Por exemplo, execute o seguinte comando para observar somente o namespace atlas-operator :

    helm install atlas-operator --namespace=atlas-operator --set watchNamespaces=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
4
  1. Personalize o projeto Atlas e seus utilizadores de banco de dados.

    Observação

    Você pode encontrar os seguintes exemplo adicionais de Helm Charts no Github Github:

    • atlas-basic: um exemplo simples de implementação do Atlas Kubernetes Operator que inclui a criação de um projeto Atlas, cluster e um usuário de banco de dados.

    • atlas-advanced: um exemplo de implantação extensível e avançada do Atlas Kubernetes Operator com boilerplate relacionado a implantações multirregionais, comportamento de autoscaling e muito mais.

    Crie um arquivo denominado install-values.yaml e cole o seguinte código de exemplo, que faz o seguinte:

    • Define o nome do projeto para My Project.

    • Permite que todos os endereços IP (0.0.0.0) acessem o projeto.

    • Creates a database user named dbadmin that has the dbAdmin role.

    • Creates a database user named dbuser that has the readWrite role.

    project: # Project custom values
    atlasProjectName: "My Project"
    projectIpAccessList:
    - cidrBlock: "0.0.0.0/0"
    users: # Custom database users
    - username: dbadmin
    databaseName: admin
    roles:
    - databaseName: admin-role
    roleName: dbAdmin
    - username: dbuser
    databaseName: admin
    roles:
    - databaseName: user-role
    roleName: readWrite
  2. Execute o seguinte comando.

    Os sinalizadores --set e --values no comando a seguir substituem os valores do arquivo Values.yaml e os valores padrão do Helm Charts pelo ID de sua organização, pelas chaves de API e pela configuração do projeto Atlas.

    Observação

    mongodb/atlas-deployment faz referência ao nome de um gráfico no repositório.

    helm install atlas-deployment \
    mongodb/atlas-deployment \
    --namespace=my-cluster \
    --create-namespace \
    --set atlas.secret.orgId='<orgid>' \
    --set atlas.secret.publicApiKey='<publicKey>' \
    --set atlas.secret.privateApiKey='<privateApiKey>' \
    --values install-values.yaml

    Para saber mais sobre os parâmetros disponíveis, consulte Recurso PersonalizadoAtlasDeployment .

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

5

Execute o seguinte comando para aguardar o usuário do banco de dados do dbadmin se tornar pronto:

kubectl wait --for=condition=ready --timeout=10m -n my-cluster atlasdatabaseusers/atlas-deployment-dbadmin

Observação

O AtlasDatabaseUser Recurso Personalizado espera até que o cluster esteja pronto. Criar um novo cluster gratuito leva menos de 15 segundos. A criação de um novo cluster Flex ou dedicado pode levar até 10 minutos.

6

Importante

O comando a seguir requer jq 1.6 ou superior.

Execute o seguinte comando para recuperar a cadeia de conexão e senha para o usuário de banco de dados do dbadmin. Suas cadeias de conexão serão diferentes da saída do exemplo.

kubectl get secret -n my-cluster my-project-cluster-name-dbadmin -o json | jq -r '.data | with_entries(.value |= @base64d)';
{
"connectionStringStandard": "mongodb://admin-user:%25SomeLong%25password$foradmin@atlas-cluster-shard-00-00.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-01.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-02.nlrvs.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-11q9bn-shard-0",
"connectionStringStandardSrv": "mongodb+srv://admin-user:%25SomeLong%25password$foradmin@atlas-cluster.nlrvs.mongodb.net",
"password": "%SomeLong%password$foradmin",
"username": "dbadmin"
}

Você pode usar o seguinte segredo em seu aplicativo:

containers:
- name: test-app
env:
- name: "CONNECTION_STRING"
valueFrom:
secretKeyRef:
name: my-project-cluster-name-dbadmin
key: connectionStringStandardSrv