Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas
/

Configurar armazenamento secreto

Nesta página

  • Considerações
  • Pré-requisitos
  • Procedimento

Você pode escolher onde armazenar informações confidenciais para os componentes que o Atlas Kubernetes Operator gerencia, mas o Atlas Kubernetes Operator precisa encontrar os segredos do Kubernetes { o que espera. Você pode armazenar segredos para o Atlas Kubernetes Operator de várias maneiras, incluindo os seguintes métodos:

  • Coloca informações confidenciais diretamente nos segredos do Kubernetes . Todos os tutoriais na documentação do Atlas Kubernetes Operator utilizam segredos do Kubernetes por padrão. Para usar segredos do Kubernetes , siga as etapas nos tutoriais.

  • Coloque informações confidenciais em um repositório do Github seguindo um fluxo do GitOps. Para armazenar dados confidenciais no git com segurança, você pode usar ferramentas, como Segredos Selados, que criptografa segredos para o cluster de destino pretendido.

  • Coloque informações confidenciais em uma ferramenta externa de armazenamento de segredos, como o HashiCorp Vault ou soluções de gerenciamento de segredos nativos da Hyperscalers. Uma ferramenta intermediária de provisionamento de segredos obtém informações confidenciais da ferramenta de armazenamento externo de segredos e cria segredos Kubernetes a partir das informações confidenciais. Para saber mais sobre a ferramenta secreta de provisionamento, consulte Considerações.

Este tutorial configura uma ferramenta externa de armazenamento de segredos para utilizar com o Atlas Kubernetes Operator. Este tutorial se concentra em configurações "sem segredos" que não exigem que o Atlas Kubernetes Operator crie e armazene um segredo para provisionar segredos para seu cluster do Kubernetes.

O tutorial a seguir instala ou configura as seguintes ferramentas e opções:

  • Uma ferramenta secreta de provisionamento. A ferramenta de provisionamento de segredos usa um ou mais mecanismos de autenticação para recuperar as credenciais do serviço de gerenciamento de segredos e criar segredos que o Atlas Kubernetes Operator pode usar. Este tutorial instala uma das seguintes ferramentas de provisionamento secretas de código aberto:

  • Autenticação para acessar segredos. Você pode usar métodos diferentes para autenticar as contas de serviço e namespaces que podem acessar segredos no HashiCorp Vault:

    • Para operador de segredos externos , este tutorial usa autenticação de tokenda web OIDC JSON . Para saber mais,consulte Autenticação JSON web token/OIDC.

    • Para o driver CSI do Secrets Store, este tutorial utiliza a autenticação do Kubernetes.

    Como alternativa, o KMS do seu fornecedor de cloud pode usar sistemas IAM nativos para fornecer essa autenticação, que não é abordada neste tutorial. Para saber como configurar o KMS do seu fornecedor de nuvem para autenticação, consulte os seguintes recursos na documentação do Operador de segredos externos:

Antes de concluir este tutorial, você precisa das seguintes ferramentas e configurações:

  • Executando contas de serviço para Kubernetes, Atlas Kubernetes Operator e Atlas e privilégios suficientes para configurá-las.

    Você precisa de um cluster Kubernetes em execução com nós que executam processadores com a arquitetura x86-64, AMD64 ou ARM64. Para este tutorial, o cluster do Kubernetes está https://kube01.internal.io escutando na porta padrão (443).

    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 .

    Dica

    Veja: links relacionados

    Para implementar o Atlas Kubernetes Operator, execute o seguinte comando. Substitua <version> pelo número de versão mais recente.

    kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/<version>/deploy/all-in-one.yaml

    Para registrar uma conta Atlas, consulte Criar uma Conta Atlas.

  • Chaves de API. Você deve criar uma chave de API e configurar 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.

    • 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 API Atlas Administration, 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 API Atlas Administration, você também deverá configurar a lista de acesso da API.

      Importante

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

  • Um cofre de armazenamento secreto. Este tutorial usa o HashiCorp Vault, que é um serviço de terceiros para armazenamento secreto, em execução em https://vault.internal.io.

    Você pode usar outros cofres de armazenamento secretos com o Atlas Kubernetes Operator, conforme necessário, incluindo o cloud KMS da Amazon Web Services, Azure e Google.

  • Somente acesso interno. Para evitar a exposição de informações confidenciais pela Internet pública, os seguintes componentes da solução de armazenamento secreto permitem apenas o acesso interno:

    • HashiCorp Vault ou serviço KMS.

    • O serviço de API de cluster do Kubernetes.

    • A rede interna. Este tutorial utiliza internal.io.

    Embora os componentes anteriores permitam apenas o acesso interno, eles permitem o acesso uns aos outros e permitem o acesso a qualquer pessoa dentro de sua equipe ou organização. Esta é uma prática recomendada para segurança.

  • Autoridades de Certificação Pública (CAs). Você pode usar CAs públicas para evitar o gerenciamento e a distribuição de certificados raiz CA personalizados.

    Você pode automatizar o gerenciamento e a renovação de certificados CA usando qualquer uma das seguintes ferramentas:

    Neste tutorial:

    • Todos os serviços HTTPs internal.io são endereços internos, mas seus sites HTTPS possuem certificados atualizados automaticamente assinados por uma CA pública.

    • Não é necessário nenhum TLS mútuo (mTLS) para essa integração porque ele executa somente a validação HTTPS no lado do servidor.

    • Os clientes podem confiar nesses certificados de serviço sem provisionamento adicional de certificados.

Siga estas etapas para configurar o armazenamento secreto para o Atlas Kubernetes Operator.

1

Selecione uma ferramenta de provisionamento secreta para instalá-la.

Para usar o Operador de segredos externos como ferramenta de provisionamento secreta:

  1. Execute os seguintes comandos para instalar o External Secrets Operator com Helm Charts e iniciar o serviço:

    helm repo add external-secrets https://charts.external-secrets.io
    helm upgrade -i --atomic \
    -n external-secrets --create-namespace --set extraArgs.loglevel=debug \
    external-secrets external-secrets/external-secrets`
  2. Certifique-se de que os segredos externos sejam executados com sucesso:

    kubectl get pod -n external-secrets -l app.kubernetes.io/name=external-secrets
    NAME READY STATUS RESTARTS AGE
    external-secrets-5779d5d6f6-2lhgd 1/1 Running 0 70s

Para usar o Driver CSI do Secrets Store como a ferramenta de provisionamento secreto, siga estas etapas:

  1. Execute o seguinte comando para instalar o Driver CSI do Secrets Store com Helm Charts e iniciar o serviço:

    helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
    helm upgrade -i --atomic --set syncSecret.enabled=true \
    -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
  2. Execute o seguinte comando para instalar o CSI HashiCorp Vault do Secrets Store plugin -in com Helm Charts. Você não precisa instalar o HashiCorp Vault servidor ou injetor de segredos.

    helm install vault hashicorp/vault \
    --set "server.enabled=false" --set "injector.enabled=false" \
    --set "csi.enabled=true"
  3. Certifique-se de que o CSI do Secrets Store seja executado com sucesso:

    kubectl get pod -n kube-system -l app.kubernetes.io/name=secrets-store-csi-driver
    NAME READY STATUS RESTARTS AGE
    csi-secrets-store-secrets-store-csi-driver-6dcm8 3/3 Running 0 2m2s
  4. Garantir o HashiCorp Vault O fornecedor de CSI é executado com sucesso:

    kubectl get pods -l app.kubernetes.io/name=vault-csi-provider
    NAME READY STATUS RESTARTS AGE
    vault-csi-provider-j7xbr 2/2 Running 0 5m39s
2

Para configurar o token web OIDC JSON web token e a autenticação Kubernetes :

  1. Execute o comando a seguir para habilitar a autenticação de token da web OIDC JSON para o caminho de montagem. Se você configurar vários clusters do Kubernetes , deverá ativar a autenticação de token da web OIDC JSON para o caminho de montagem de cada cluster.

    vault auth enable -path=jwt-kube01 jwt
  2. Execute o seguinte comando para permitir o acesso não autenticado aos URLs de descoberta do OIDC no cluster kube01.internal.io :

    $ kubectl create clusterrolebinding oidc-reviewer \
    --clusterrole=system:service-account-issuer-discovery \
    --group=system:unauthenticated
  3. Execute o seguinte comando para direcionar o HashiCorp Vault para confiar no cluster. O emissor do cluster em https://kube01.internal.io/ deve corresponder à URL no documento de descoberta do OIDC em .well-known/openid-configuration.

    curl https://kube01.internal.io/.well-known/openid-configuration | jq .issuer
    https://kube01.internal.io/
    vault write auth/jwt-kube01/config jwks_url="https://kube01.internal.io/openid/v1/jwks"
  4. Crie as políticas que permitem acesso aos segredos que você deseja expor ao cluster.

    O exemplo a seguir cria a política external-secrets que você especifica nas etapas posteriores.

    echo external-secrets-policy.hcl
    path "secret/data/kube01/external-secrets/*" {
    capabilities = ["read"]
    }
  5. Execute o comando para criar um HashiCorp Vault role e vincule uma conta de serviço do Kubernetes à role, que restringe o acesso da conta de serviço ao HashiCorp Vault.

    O comando a seguir cria a função jwt-kube01-system do tipo JSON web token (OIDC) para o público vault . O comando especifica a declaração de usuário sub e a conta de serviço default do Kubernetes no namespace mongodb-atlas-system como o assunto vinculado. Este comando vincula a função ao external-secrets conjunto de permissões da política no HashiCorp Vault.

    vault write auth/jwt-kube01/role/jwt-kube01-system role_type="jwt" bound_audiences=vault \
    user_claim="sub" bound_subject="system:serviceaccount:mongodb-atlas-system:default" \
    policies="external-secrets"
  6. Execute o comando default para criar outro role para o External Secrets Operator acessar o namespace .

    O comando a seguir cria a função jwt-kube01-default do tipo JSON web token (OIDC) para o público vault . Este comando especifica a declaração de usuário sub e a conta de serviço default do Kubernetes no namespace default como o assunto vinculado. Este comando vincula a função ao external-secrets conjunto de permissões da política no HashiCorp Vault.

    vault write auth/jwt-kube01/role/jwt-kube01-default role_type="jwt" bound_audiences=vault \
    user_claim="sub" bound_subject="system:serviceaccount:default:default" \
    policies="external-secrets"
  7. Garanta que a autenticação OIDC seja executada com sucesso para a conta de serviço do sistema:

    export TEST_JWT_TOKEN=$(kubectl -n mongodb-atlas-system create token default --audience "vault")
    vault write auth/jwt-kube01/login role=jwt-kube01-system jwt=$(TEST_JWT_TOKEN)

    Atlas Kubernetes Operator retorna suas credenciais de token da web OIDC JSON web token para a conta de serviço do sistema.

  8. Garanta que a autenticação OIDC seja executada com sucesso para a conta de serviço padrão:

    export TEST_JWT_TOKEN=$(kubectl -n default create token default --audience "vault")
    vault write auth/jwt-kube01/login role=jwt-kube01-default jwt=$(TEST_JWT_TOKEN)

    Atlas Kubernetes Operator retorna suas credenciais de token da web OIDC JSON web token para a conta de serviço padrão.

Para configurar a autenticação do Kubernetes:

  1. Execute o comando a seguir para habilitar a autenticação do Kubernetes para o caminho de montagem. Se você configurar vários clusters Kubernetes, deverá habilitar a autenticação do Kubernetes para o caminho de montagem de cada cluster.

    vault auth enable -path=jwt-kube01 kubernetes

    Quando você instala com o Helm, ele configura automaticamente a vinculação de função do cluster.

  2. Crie políticas que permitam acesso aos segredos que você deseja expor no cluster.

    O exemplo a seguir cria a política vault-secret usada nas etapas posteriores. Ele usa vault, um segredo do Kubernetes vinculado ao HashiCorp Vault conta de serviço que o fornecedor Helm Chart CSI configura.

    echo vault-secret.yaml
    apiVersion: v1
    kind: Secret
    metadata:
    name: vault
    annotations:
    kubernetes.io/service-account.name: vault
    type: kubernetes.io/service-account-token
    $ kubectl apply -f vault-secret.yaml
  3. Execute os comandos para confiar no cluster Kubernetes e usar a autenticação Kubernetes:

    export VAULT_JWT ?= $(shell kubectl get secret/vault -o jsonpath='{.data.token}' |base64 -d)
    vault write auth/k8s-kube01/config kubernetes_host="kube01.internal.io" token_reviewer_jwt=$(VAULT_JWT)
  4. Execute o comando para criar um HashiCorp Vault role e vincule uma conta de serviço do Kubernetes à role, que restringe o acesso da conta de serviço ao HashiCorp Vault.

    O comando a seguir cria a função k8s-kube01 no auth/k8s-kube01 vinculado à conta de serviço do Kubernetes nos namespaces default ou mongodb-atlas-system . Esta função está vinculada à secrets-store política de permissões do dentro HashiCorp Vault.

    vault write auth/k8s-kube01/role/k8s-kube01-role \
    bound_service_account_names=default,mongodb-atlas-operator \
    bound_service_account_namespaces=default,mongodb-atlas-system \
    policies=secrets-store

    As políticas devem existir e permitir acesso aos segredos. A política de exemplo a seguir permite acesso aos segredos KV v2 no caminho kube01/secrets-store :

    path "secret/data/kube01/secrets-store/*" {
    capabilities = ["read"]
    }
  5. Verifique se a autenticação do Kubernetes é executada com sucesso para a conta de serviço do sistema:

    export TEST_JWT_TOKEN=$( kubectl create -n mongodb-atlas-system token mongodb-atlas-operator)
    vault write auth/jwt-kube01/login role=jwt-kube01-system jwt=$(TEST_JWT_TOKEN)
  6. Certifique-se de que a autenticação do Kubernetes seja executada com sucesso para a conta padrão:

    export TEST_JWT_TOKEN=$(kubectl -n default create token default)
    vault write auth/jwt-kube01/login role=jwt-kube01-default jwt=$(TEST_JWT_TOKEN)
3

Para provisionar segredos com o Operador de segredos externo:

  1. Implemente o recurso personalizado SecretStore para a conta de serviço default no namespace mongodb-atlas-system :

    $ cat external-secrets/vault-system.yaml
    apiVersion: external-secrets.io/v1beta1
    kind: SecretStore
    metadata:
    name: vault-store
    namespace: mongodb-atlas-system
    spec:
    provider:
    vault:
    server: "https://vault.internal.io"
    path: "secret"
    version: "v2"
    auth:
    jwt:
    path: "jwt-kube01"
    role: "jwt-kube01-system"
    kubernetesServiceAccountToken:
    expirationSeconds: 600
    serviceAccountRef:
    name: "default"
    audiences:
    - vault
    $ kubectl apply -f external-secrets/vault-system.yaml
  2. Implemente o recurso personalizado SecretStore para a conta de serviço default no namespace default :

    $ cat external-secrets/vault-default.yaml
    apiVersion: external-secrets.io/v1beta1
    kind: SecretStore
    metadata:
    name: vault-store
    namespace: default
    spec:
    provider:
    vault:
    server: "https://vault.internal.io"
    path: "secret"
    version: "v2"
    auth:
    jwt:
    path: "jwt-kube01"
    role: "jwt-role"
    kubernetesServiceAccountToken:
    expirationSeconds: 600
    serviceAccountRef:
    name: "default"
    audiences:
    - vault
    $ kubectl apply -f external-secrets/vault-default.yaml
  3. Implemente o recurso personalizado do ExternalSecret que referencia o segredo que contém a chave API. Você deve definir spec.target.template.metadata.labels como atlas.mongodb.com/type com o valor credentials para o Atlas Kubernetes Operator encontrar o segredo que o External Secrets Operator cria.

    Antes de executar o comando a seguir, certifique-se de que HashiCorp Vault tem o segredo preenchido no2 caminho secret/data/kube01/external-secrets/atlas-account com as seguintes propriedades:

    • orgId

    • publicApiKey

    • privateApiKey

    $ cat external-secrets/atlas.yaml
    apiVersion: external-secrets.io/v1beta1
    kind: ExternalSecret
    metadata:
    name: atlas
    namespace: mongodb-atlas-system
    spec:
    refreshInterval: "15s"
    secretStoreRef:
    name: vault-store
    kind: SecretStore
    target:
    name: mongodb-atlas-operator-api-key
    template:
    metadata:
    labels:
    atlas.mongodb.com/type: credentials
    data:
    - secretKey: orgId
    remoteRef:
    key: secret/data/kube01/external-secrets/atlas-account
    property: orgId
    - secretKey: publicApiKey
    remoteRef:
    key: secret/data/kube01/external-secrets/atlas-account
    property: publicApiKey
    - secretKey: privateApiKey
    remoteRef:
    key: secret/data/kube01/external-secrets/atlas-account
    property: privateApiKey
    $ kubectl apply -f external-secrets/atlas.yaml

    Este comando cria o segredo do Kubernetes mongodb-atlas-operator-api-key no mongodb-atlas-system namespace .

  4. Deploy the ExternalSecret custom resource that references the secret that contains database user credentials. Você deve definir spec.target.template.metadata.labels como atlas.mongodb.com/type com o valor credentials para o Atlas Kubernetes Operator encontrar o segredo que o External Secrets Operator cria.

    Antes de executar o comando a seguir, certifique-se de que HashiCorp Vault tem o segredo preenchido no2 caminho secret/data/kube01/external-secrets/db-user com a password propriedade .

    $ cat external-secrets/dbuser.yaml
    apiVersion: external-secrets.io/v1beta1
    kind: ExternalSecret
    metadata:
    name: dbuser
    namespace: default
    spec:
    refreshInterval: "15s"
    secretStoreRef:
    name: vault-store
    kind: SecretStore
    target:
    name: dbuser-password
    template:
    metadata:
    labels:
    atlas.mongodb.com/type: credentials
    data:
    - secretKey: password
    remoteRef:
    key: secret/data/kube01/external-secrets/db-user
    property: password
    $ kubectl apply -f external-secrets/atlas.yaml
  5. Certifique-se de que os segredos retornam conforme o esperado ao executar os seguintes comandos:

    $ kubectl get -n mongodb-atlas-system secrets/mongodb-atlas-operator-api-key
    $ kubectl get -n default secrets/dbuser-password

Para provisionar segredos com o CSI do Secrets Store:

  1. Implemente o recurso personalizado do SecretProviderClass no namespace do mongodb-atlas-system . Você deve definir spec.secretObjects.labels como atlas.mongodb.com/type com o valor credentials para o Atlas Kubernetes Operator encontrar o segredo criado pelo CSI do Secrets Store.

    Antes de executar o comando a seguir, certifique-se de que HashiCorp Vault tem o segredo preenchido no2 caminho secret/data/kube01/external-secrets/atlas-account com as seguintes propriedades:

    • orgId

    • publicApiKey

    • privateApiKey

    $ cat secrets-store/atlas.yaml
    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
    name: atlas
    namespace: mongodb-atlas-system
    spec:
    provider: vault
    secretObjects:
    - data:
    - key: orgId
    objectName: atlas-org
    - key: publicApiKey
    objectName: atlas-pub-key
    - key: privateApiKey
    objectName: atlas-secret-key
    secretName: mongodb-atlas-operator-api-key
    type: Opaque
    labels:
    atlas.mongodb.com/type: credentials
    parameters:
    vaultAddress: https://vault.internal.io
    vaultKubernetesMountPath: k8s-kube01
    roleName: k8s-kube01-role
    objects: |
    - objectName: atlas-org
    secretPath: secret/data/kube01/secrets-store/atlas-account
    secretKey: orgId
    - objectName: atlas-pub-key
    secretPath: secret/data/kube01/secrets-store/atlas-account
    secretKey: publicApiKey
    - objectName: atlas-secret-key
    secretPath: secret/data/kube01/secrets-store/atlas-account
    secretKey: privateApiKey
    $ kubectl apply -f secrets-store/atlas.yaml

    Este comando cria o segredo do Kubernetes mongodb-atlas-operator-api-key no mongodb-atlas-system namespace .

  2. Execute o seguinte comando para adicionar um pod que monta os segredos necessários:

    $ cat secrets-store/ako-patch.yaml
    template:
    spec:
    containers:
    - name: system-secret-placeholder
    image: mongodb/atlas
    command: ["sleep", "infinity"]
    volumeMounts:
    - name: secrets-store-mount
    mountPath: "/mnt/secrets-store"
    readOnly: true
    volumes:
    - name: secrets-store-mount
    csi:
    driver: secrets-store.csi.k8s.io
    readOnly: true
    volumeAttributes:
    secretProviderClass: atlas
    $ kubectl apply -f secrets-store/ako-patch.yaml
  3. Implemente o SecretProviderClass recurso personalizado que referencia o segredo que contém credenciais de usuário de banco de dados . Você deve definir spec.target.template.metadata.labels como atlas.mongodb.com/type com o valor credentials para o Atlas Kubernetes Operator para encontrar o segredo criado pelo CSI do Secrets Store.

    Antes de executar o comando a seguir, certifique-se de que HashiCorp Vault tem o segredo preenchido no2 caminho secret/data/kube01/external-secrets/db-user com a password propriedade .

    $ cat external-secrets/dbuser.yaml
    apiVersion: external-secrets.io/v1beta1
    kind: SecretProviderClass
    metadata:
    name: dbuser
    namespace: default
    spec:
    provider: vault
    secretObjects:
    - data:
    - key: password
    objectName: dbuser
    secretName: dbuser-password
    type: Opaque
    labels:
    atlas.mongodb.com/type: credentials
    parameters:
    vaultAddress: https://vault.internal.io
    vaultKubernetesMountPath: k8s-kube01
    roleName: k8s-kube01-role
    objects: |
    - objectName: "dbuser"
    secretPath: "secret/data/kube01/secrets-store/db-user"
    secretKey: "password"
    $ kubectl apply -f secrets-store/dbuser.yaml
  4. Execute o seguinte comando para criar o pod sentido horário do secret-placeholder , que garante que o driver CSI do Secrets Store busque as credenciais do dbuser e sincronize-as com o Kubernetes:

    $ cat secrets-store/placeholder.yaml
    kind: Pod
    apiVersion: v1
    metadata:
    name: secret-placeholder
    spec:
    containers:
    - image: mongodb/atlas
    command: ["sleep", "infinity"]
    name: secret-placeholder
    volumeMounts:
    - name: secrets-store-mount
    mountPath: "/mnt/secrets-store"
    readOnly: true
    volumes:
    - name: secrets-store-mount
    csi:
    driver: secrets-store.csi.k8s.io
    readOnly: true
    volumeAttributes:
    secretProviderClass: dbuser
    $ kubectl apply -f secrets-store/placeholder.yaml
  5. Certifique-se de que os segredos retornam conforme o esperado ao executar os seguintes comandos:

    $ kubectl get -n mongodb-atlas-system secrets/mongodb-atlas-operator-api-key
    $ kubectl get -n default secrets/dbuser-password
4

Agora você pode implantar recursos personalizados do Atlas Kubernetes Operator. O Atlas Kubernetes Operator autentica com os segredos do Kubernetes que fazem referência ao seu HashiCorp Vault. Ajuste os valores do timeout conforme necessário para seus sistemas.

kubectl apply -f ako/project.yaml
kubectl apply -f ako/deployment.yaml
kubectl apply -f ako/user.yaml
kubectl wait --for=condition=ready atlasdeployment/serverless-deployment --timeout=10m
kubectl wait --for=condition=ready atlasdatabaseuser/user --timeout=10m

Para saber mais sobre esses recursos personalizados, consulte Recursos personalizados.

5

Para testar seu sistema do Atlas Kubernetes Operator, execute o seguinte comando:

export ATLAS_DEPLOYMENT_CONN_STR=$(kubectl get secrets/test-atlas-operator-project-test-serverless-deployment-dbuser -o jsonpath='{.data.connectionStringStandardSrv}' |base64 -d)
mongosh $(ATLAS_DEPLOYMENT_CONN_STR) --apiVersion 1 --eval "show dbs"

O Atlas Kubernetes Operator retorna uma lista dos seus comandos de reconhecimento de data center.

Voltar

Acesso ao Atlas