Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ /
Atlas Kubernetes Operator
/

Configurar armazenamento secreto

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

  • Coloque 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 o Secure Segredos, 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 as soluções de gerenciamento de segredos nativos do Hyperscalers. Uma ferramenta intermediária de provisionamento de segredos obtém informações confidenciais da ferramenta de armazenamento secreto externo 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 secreto utiliza um ou mais mecanismos de autenticação para recuperar as credenciais do serviço de gerenciamento secreto e criar segredos que o Atlas Kubernetes Operator pode utilizar. 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 o Operador de segredos externos, este tutorial usa a autenticação OIDC JWT. Para saber mais, consulte Autenticação JWT/OIDC.

    • Para o Driver CSI do Secrets Store, este tutorial usa 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 de segredos, executado https://vault.internal.io em.

    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:

    • O serviço HashiCorp Vault ou 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 secreto:

  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 comando a seguir para instalar o plugin-in Secrets Store CSI HashiCorp Vault com Helm Charts. Você não precisa instalar o servidor HashiCorp Vault ou o 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. Certifique-se de que o fornecedor de CSI do HashiCorp Vault seja 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 a confiar no cluster. O emissor do cluster em https://kube01.internal.io/ deve corresponder à URL no documento de descoberta do OIDC .well-known/openid-configuration em.

    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 uma função do HashiCorp Vault e vincular uma conta de serviço do Kubernetes à função, que restringe o acesso da conta de serviço dentro do HashiCorp Vault.

    O comando a seguir cria a jwt-kube01-system função do tipo JWT (OIDC) para o vault público. O comando especifica a sub declaração de usuário e a default conta de serviço do Kubernetes no mongodb-atlas-system namespace 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 jwt-kube01-default função do tipo JWT (OIDC) para o vault público. Este comando especifica a sub declaração de usuário e a default conta de serviço do Kubernetes no default namespace 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 vault usa, um segredo do Kubernetes vinculado à conta de serviço HashiCorp Vault 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 uma função do HashiCorp Vault e vincular uma conta de serviço do Kubernetes à função, que restringe o acesso da conta de serviço dentro do HashiCorp Vault.

    O comando a seguir cria a k8s-kube01 função auth/k8s-kube01 no vinculado à conta de serviço do Kubernetes nos default mongodb-atlas-system namespaces ou. 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 seguinte comando, certifique-se de que o HashiCorp Vault tenha o segredo preenchido no2 caminho Kv V 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, verifique se o HashiCorp Vault tem o segredo preenchido no2 caminho Kv V 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 seguinte comando, certifique-se de que o HashiCorp Vault tenha o segredo preenchido no2 caminho Kv V 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, verifique se o HashiCorp Vault tem o segredo preenchido no2 caminho Kv V 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 timeout valores do 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

Nesta página