Início rápido
Nesta página
- Pré-requisitos
- Procedimento
- Registre-se para uma conta Atlas ou faça login.
- Crie chaves API para a sua organização.
- Implemente o Atlas Kubernetes Operator
- Crie um segredo com suas chaves de API e ID da organização.
- Crie o recurso personalizado do
AtlasProject
. - Crie o recurso personalizado do
AtlasDeployment
. - Crie um segredo com uma senha para entrar no reconhecimento de data center do cluster do Atlas.
- Crie o recurso personalizado do
AtlasDatabaseUser
. - Verifique o status do seu usuário do banco de dados.
- Recupere o segredo que o Atlas Kubernetes Operator criou para conectar ao cluster.
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.
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 Início Rápido do Helm Charts .
Pré-requisitos
Este tutorial requer:
Um cluster Kubernetes em execução com nós executando processadores com a arquitetura x86-64, AMD64 ou ARM64.
jq
1.6 ou superior
Você pode acessar o projeto Atlas Kubernetes Operator no GitHub:
Para instalar o Atlas Kubernetes Operator utilizando o Atlas CLI, execute o seguinte comando:
atlas kubernetes operator install [options]
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 .
Procedimento
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 excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos. Por exemplo, se você excluir um AtlasProject
Recurso Personalizado do no Kubernetes, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas, evitando exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão anterior ao Atlas Kubernetes Operator 2.0, consulte Novo padrão: Proteção de exclusão no Atlas Kubernetes Operator 2.0.
Registre-se para uma conta Atlas ou faça login.
Registre uma nova conta do Atlas ou faça login na sua conta do Atlas.
Crie chaves API para a sua organização.
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.
Crie uma chave de API (interface de programação de aplicativos) em uma organização e configure o 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.
Para que o Atlas Kubernetes Operator possa criar um novo projeto Atlas, crie uma chave de API (Interface de Programação de Aplicação) em uma organização. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.
Importante
Você deve atribuir a chave API ao role da organização Organization Project Creator ou superior.
Para trabalhar em um projeto existente do Atlas, crie uma chave de API (Interface de Programação de Aplicação) para um projeto. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.
Importante
Você deve atribuir à chave de API ao role de projeto Project Owner .
Implemente o Atlas Kubernetes Operator
Em um dos seguintes cenários, substitua <version>
pelo número da versão mais recente:
Se você quiser que o Atlas Kubernetes Operator observe todos os namespaces no cluster do Kubernetes, execute o seguinte comando:
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/v<version>/deploy/all-in-one.yaml Se você quiser que o Atlas Kubernetes Operator observe apenas seu namespace, você deve instalar os arquivos de configuração a partir do
deploy/namespaced
diretório :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
Crie um segredo com suas chaves de API e ID da organização.
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 segredosdo Kubernetes.. Para saber mais, consulte Configurar Armazenamento Secreto.
Crie o AtlasProject
recurso personalizado .
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
Crie o AtlasDeployment
recurso personalizado .
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.
Crie um segredo com uma senha para entrar no reconhecimento de data center do cluster do Atlas.
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 segredosdo Kubernetes.. Para saber mais, consulte Configurar Armazenamento Secreto.
Crie o AtlasDatabaseUser
recurso personalizado .
Execute o seguinte comando para criar o Recurso Personalizado doAtlasDatabaseUser
:
Observação
spec.passwordSecretRef
deve fazer referência à senha que 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
Verifique o status do seu usuário do banco de dados.
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 Recurso PersonalizadoAtlasDatabaseUser
aguarda até que o cluster esteja pronto. A criação de um novo cluster pode levar até 10 minutos.
kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
Recupere o segredo que o Atlas Kubernetes Operator criou para conectar ao cluster.
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)'; Substitua os seguintes espaços reservados pelos detalhes dos seus recursos personalizados:
my-project
Especifique o valor do campometadata
do seu Recurso PersonalizadoAtlasProject
.my-atlas-cluster
Especifique o valor do campometadata
do seu Recurso PersonalizadoAtlasDeployment
.my-database-user
Especifique o valor do campometadata
do seu Recurso PersonalizadoAtlasDatabaseUser
.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 aplicativo:
containers: - name: test-app env: - name: "CONNECTION_STRING" valueFrom: secretKeyRef: name: test-atlas-operator-project-test-cluster-theuser key: connectionStringStandardSrv