Docs Menu
Docs Home
/ /
Acceso al Atlas
/ / /

Configure el almacenamiento de secretos

Puede elegir dónde almacenar la información confidencial de los componentes que administra Atlas Kubernetes Operator, pero Atlas Kubernetes Operator debe encontrar los secretos de Kubernetes. Se espera. Puede almacenar secretos para el operador de Kubernetes de Atlas de diversas maneras, incluyendo los siguientes métodos:

  • Incluya información confidencial directamente en los secretos de Kubernetes. Todos los tutoriales de la documentación de Operador de Kubernetes de Atlas utilizan secretos de Kubernetes de forma predeterminada. Para usar secretos de Kubernetes, siga los pasos de los tutoriales.

  • Colocar información confidencial en un repositorio de Github siguiendo un flujo GitOps. Para almacenar los datos confidenciales de git de manera segura, puedes utilizar herramientas como Sealed Secrets, que cifra los secretos para el clúster de destino previsto.

  • Guarde la información confidencial en una herramienta externa de almacenamiento de secretos, como HashiCorp Vault o las soluciones nativas de gestión de secretos de Hyperscalers. Una herramienta intermediaria de aprovisionamiento de secretos obtiene la información confidencial de la herramienta externa de almacenamiento de secretos y crea secretos de Kubernetes a partir de ella. Para obtener más información sobre la herramienta de aprovisionamiento de secretos, consulte Consideraciones.

Este tutorial configura una herramienta externa de almacenamiento de secretos para usar con Atlas Kubernetes Operator. Se centra en configuraciones sin secretos que no requieren que Atlas Kubernetes Operator cree y almacene un secreto para aprovisionarlos en su clúster de Kubernetes.

El siguiente tutorial instala o configura las siguientes herramientas y opciones:

  • Una herramienta de aprovisionamiento de secretos. Esta herramienta utiliza uno o más mecanismos de autenticación para recuperar las credenciales del servicio de gestión de secretos y crear secretos que Atlas Kubernetes Operator puede usar. Este tutorial instala una de las siguientes herramientas de aprovisionamiento de secretos de código abierto:

  • Autenticación para acceder a secretos. Puede utilizar diferentes métodos para autenticar las cuentas de servicio y los espacios de nombres que pueden acceder a los secretos en HashiCorp Vault:

    • Para el operador de secretos externos, este tutorial utiliza OIDC AutenticaciónJWT. Para obtener más información, consulte Autenticación JWT/OIDC.

    • Para el controlador CSI de Secrets Store, este tutorial utiliza la autenticación de Kubernetes.

    Como alternativa, el KMS de su proveedor de nube puede usar sistemas IAM nativos para proporcionar esta autenticación, algo que no se explica en este tutorial. Para aprender a configurar el KMS de su proveedor de nube para la autenticación, consulte los siguientes recursos en la documentación del operador de secretos externos:

Antes de completar este tutorial, necesitará las siguientes herramientas y configuraciones:

  • Ejecutar cuentas de servicio para Kubernetes, Atlas Kubernetes Operator y Atlas y privilegios suficientes para configurarlas.

    Necesita un clúster de Kubernetes en ejecución con nodos que ejecuten procesadores con la arquitectura x86-64, AMD64 o ARM64. Para este tutorial, el clúster de Kubernetes es https://kube01.internal.io escuchando en el puerto predeterminado (443).

    Puede acceder al proyecto Atlas Kubernetes Operator en GitHub:

    Para instalar el operador Atlas Kubernetes mediante la CLI de Atlas, ejecute el siguiente comando:

    atlas kubernetes operator install [options]

    Para obtener más información sobre la sintaxis del comando y los parámetros, consulta la documentación de Atlas CLI para atlas kubernetes operator install.

    Tip

    Consulte: Enlaces relacionados

    Para implementar el operador Atlas Kubernetes, ejecute el siguiente comando. Reemplace <version> con la última versión. número de lanzamiento

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

    Para registrarse en una cuenta Atlas, consulte Crear una cuenta Atlas.

  • Claves API. Debe crear una clave API y configurarla. API Access List.

    Necesita la siguiente clave API pública, clave API privada y la información de ID de la organización para configurar el acceso del operador de Kubernetes de Atlas a Atlas.

    • Si desea que el operador de Kubernetes de Atlascree un nuevo proyecto de Atlas, otorgue acceso programático a unaorganización. Si su organización requiere una lista de acceso de IP para la API de administración de Atlas, también debe configurarla.

      Importante

      Debe asignar a la clave API el rol de organización Organization Project Creator o superior.

    • Si desea trabajar con un proyecto de Atlas existente, agregue el acceso al proyecto desdeun proyecto. Si su organización requiere una lista de acceso IP para la API de administración de Atlas, también debe configurarla.

      Importante

      Debe asignar al clave API el rol de proyecto Project Owner.

  • Una bóveda de almacenamiento secreto. Este tutorial utiliza HashiCorp Vault, un servicio externo para almacenamiento secreto, que se ejecuta https://vault.internal.io en.

    Puede utilizar otras bóvedas de almacenamiento secretas con Atlas Kubernetes Operator según sea necesario, incluido Cloud KMS de AWS, Azure y Google.

  • Acceso exclusivo interno. Para evitar la exposición de información confidencial en la red pública de internet, los siguientes componentes de la solución de almacenamiento secreto solo permiten acceso interno:

    • El servicio HashiCorp Vault o KMS.

    • El servicio API de clúster de Kubernetes.

    • La red interna. Este tutorial utiliza internal.io.

    Si bien los componentes anteriores solo permiten acceso interno, permiten el acceso entre sí y a cualquier persona de su equipo u organización. Esta es una práctica recomendada para la seguridad.

  • Autoridades de certificación (CA) públicas. Puede usar CA públicas para evitar la administración y distribución de certificados raíz de CA personalizados.

    Puede automatizar la gestión y renovación de certificados de CA utilizando cualquiera de las siguientes herramientas:

    En este tutorial:

    • Todos los servicios HTTPS internal.io son direcciones internas, pero sus sitios HTTPS contienen certificados renovados automáticamente firmados por una CA pública.

    • No se requiere TLS mutuo (mTLS) para esta integración porque solo realiza la validación HTTPS del lado del servidor.

    • Los clientes pueden confiar en estos certificados de servicio sin necesidad de aprovisionar ningún certificado adicional.

Siga estos pasos para configurar el almacenamiento secreto para Atlas Kubernetes Operator.

1

Seleccione una herramienta de aprovisionamiento secreta para instalarla.

Para usar External Secrets operador como herramienta de provisionamineto de secretos:

  1. Ejecute los siguientes comandos para instalar External Secrets Operator con Helm Charts e iniciar el servicio:

    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. Asegúrese de que External Secrets se ejecute correctamente:

    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 utilizar el controlador CSI de Secrets Store como herramienta de aprovisionamiento de secretos, siga estos pasos:

  1. Ejecute el siguiente comando para instalar Secrets Store CSI Driver con Helm Charts e iniciar el servicio:

    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. Ejecute el siguiente comando para instalar el complemento Secrets Store CSI HashiCorp Vault con Helm Charts. No necesita instalar el servidor HashiCorp Vault ni el inyector de secretos.

    helm install vault hashicorp/vault \
    --set "server.enabled=false" --set "injector.enabled=false" \
    --set "csi.enabled=true"
  3. Asegúrese de que Secrets Store CSI se ejecute correctamente:

    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. Asegúrese de que el proveedor CSI de HashiCorp Vault se ejecute correctamente:

    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 la autenticación de OIDC JWT y Kubernetes:

  1. Ejecute el siguiente comando para habilitar la autenticación JWT de OIDC para la ruta de montaje. Si configura varios clústeres de Kubernetes, debe habilitar la autenticación JWT de OIDC para la ruta de montaje de cada clúster.

    vault auth enable -path=jwt-kube01 jwt
  2. Ejecute el siguiente comando para permitir el acceso no autenticado a las URL de descubrimiento de OIDC en el kube01.internal.io clúster:

    $ kubectl create clusterrolebinding oidc-reviewer \
    --clusterrole=system:service-account-issuer-discovery \
    --group=system:unauthenticated
  3. Ejecute el siguiente comando para indicar a HashiCorp Vault que confíe en el clúster. El emisor del clúster en https://kube01.internal.io/ debe coincidir con la URL del documento de descubrimiento de OIDC .well-known/openid-configuration en.

    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. Crea las directivas que permiten el acceso a los secretos que deseas exponer al clúster.

    El siguiente ejemplo crea la política external-secrets que especificará en pasos posteriores.

    echo external-secrets-policy.hcl
    path "secret/data/kube01/external-secrets/*" {
    capabilities = ["read"]
    }
  5. Ejecute el comando para crear un rol de HashiCorp Vault y vincular una cuenta de servicio de Kubernetes al rol, lo que restringe el acceso de la cuenta de servicio dentro de HashiCorp Vault.

    El siguiente comando crea el jwt-kube01-system rol de tipo JWT (OIDC) para la vault audiencia. El comando especifica la sub notificación de usuario y la default cuenta de servicio de Kubernetes en el mongodb-atlas-system espacio de nombres como sujeto enlazado. Este comando vincula el rol al external-secrets conjunto de permisos de la política dentro de 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. Ejecute el comando para crear otro rol para que el External Secrets Operator acceda al namespace default.

    El siguiente comando crea el jwt-kube01-default rol de tipo JWT (OIDC) para la vault audiencia. Este comando especifica la sub notificación de usuario y la default cuenta de servicio de Kubernetes en el default espacio de nombres como sujeto enlazado. Este comando vincula el rol al external-secrets conjunto de permisos de políticas dentro de 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. Asegúrese de que la autenticación OIDC se ejecute correctamente para la cuenta de servicio del 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 devuelve sus credenciales JWT de OIDC para la cuenta de servicio del sistema.

  8. Asegúrese de que la autenticación OIDC se ejecute correctamente para la cuenta de servicio predeterminada:

    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 devuelve sus credenciales JWT de OIDC para la cuenta de servicio predeterminada.

Para configurar la autenticación de Kubernetes:

  1. Ejecute el siguiente comando para habilitar la autenticación de Kubernetes en la ruta de montaje. Si configura varios clústeres de Kubernetes, debe habilitar la autenticación de Kubernetes en la ruta de montaje de cada clúster.

    vault auth enable -path=jwt-kube01 kubernetes

    Cuando se instala con Helm, se configura automáticamente la vinculación de roles del clúster.

  2. Cree políticas que permitan el acceso a los secretos que desea exponer al clúster.

    El siguiente ejemplo crea la política vault-secret utilizada en pasos posteriores. Utiliza vault, un secreto de Kubernetes vinculado a la cuenta de servicio HashiCorp Vault que configura el proveedor Helm Chart CSI.

    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. Ejecute los comandos para confiar en el clúster de Kubernetes y usar la autenticación de 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. Ejecute el comando para crear un rol de HashiCorp Vault y vincular una cuenta de servicio de Kubernetes al rol, lo que restringe el acceso de la cuenta de servicio dentro de HashiCorp Vault.

    El siguiente comando crea el rol k8s-kube01 en auth/k8s-kube01 vinculado a la cuenta de servicio de Kubernetes en los namespaces default o mongodb-atlas-system. Este rol está vinculado a la política de permisos de secrets-store en 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

    Las políticas deben existir y permitir el acceso a los secretos. El siguiente ejemplo de política permite el acceso a los secretos KV v2 en la ruta kube01/secrets-store:

    path "secret/data/kube01/secrets-store/*" {
    capabilities = ["read"]
    }
  5. Asegúrese de que la autenticación de Kubernetes se ejecute correctamente para la cuenta de servicio del 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. Asegúrese de que la autenticación de Kubernetes se ejecute correctamente para la cuenta predeterminada:

    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 aprovisionar secretos con el operador de secretos externos:

  1. Implemente el recurso personalizado SecretStore para la cuenta de servicio default en el espacio de nombres 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 el recurso personalizado SecretStore para la cuenta de servicio default en el espacio de nombres 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 el recurso personalizado ExternalSecret que hace referencia al secreto que contiene la clave API. Debe establecer spec.target.template.metadata.labels en atlas.mongodb.com/type con el valor credentials para que el operador de Kubernetes de Atlas encuentre el secreto creado por el operador de secretos externos.

    Antes de ejecutar el siguiente comando, asegúrese de que HashiCorp Vault tenga el secreto rellenado en la ruta Kv V2 secret/data/kube01/external-secrets/atlas-account con las siguientes propiedades:

    • 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 crea el secreto mongodb-atlas-operator-api-key de Kubernetes en el namespace mongodb-atlas-system.

  4. Implemente el recurso personalizado ExternalSecret que hace referencia al secreto que contiene las credenciales de usuario de la base de datos. Debe establecer spec.target.template.metadata.labels en atlas.mongodb.com/type con el valor credentials para que el operador de Kubernetes de Atlas encuentre el secreto creado por el operador de secretos externos.

    Antes de ejecutar el siguiente comando, asegúrese de que HashiCorp Vault tenga el secreto rellenado en la ruta Kv V2 secret/data/kube01/external-secrets/db-user con la password propiedad.

    $ 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. Asegúrese de que los secretos regresen como se espera cuando ejecute los siguientes comandos:

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

Para aprovisionar secretos con Secrets Store CSI:

  1. Implemente el recurso personalizado SecretProviderClass en el espacio de nombres mongodb-atlas-system. Debe establecer spec.secretObjects.labels en atlas.mongodb.com/type con el valor credentials para que Atlas Kubernetes Operator encuentre el secreto que crea Secrets Store CSI.

    Antes de ejecutar el siguiente comando, asegúrese de que HashiCorp Vault tenga el secreto rellenado en la ruta Kv V2 secret/data/kube01/external-secrets/atlas-account con las siguientes propiedades:

    • 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 crea el secreto mongodb-atlas-operator-api-key de Kubernetes en el namespace mongodb-atlas-system.

  2. Ejecute el siguiente comando para agregar un pod que monte los secretos requeridos:

    $ 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 el recurso personalizado SecretProviderClass que hace referencia al secreto que contiene las credenciales de usuario de la base de datos. Debe establecer spec.target.template.metadata.labels en atlas.mongodb.com/type con el valor credentials para que el operador de Kubernetes de Atlas encuentre el secreto que crea el CSI del almacén de secretos.

    Antes de ejecutar el siguiente comando, asegúrese de que HashiCorp Vault tenga el secreto rellenado en la ruta Kv V2 secret/data/kube01/external-secrets/db-user con la password propiedad.

    $ 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. Ejecute el siguiente comando para crear el pod centinela secret-placeholder, que garantiza que el controlador CSI de Secrets Store obtenga las credenciales dbuser y las sincronice con 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. Asegúrese de que los secretos regresen como se espera cuando ejecute los siguientes comandos:

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

Ahora puede implementar recursos personalizados de Atlas Kubernetes Operator. Atlas Kubernetes Operator se autentica con los secretos de Kubernetes que hacen referencia a su almacén de HashiCorp. Ajuste los timeout valores según sea necesario para sus implementaciones.

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 obtener más información sobre estos recursos personalizados, consulte Recursos personalizados.

5

Para probar tu implementación del Atlas Kubernetes Operator, ejecuta el siguiente 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"

Atlas Kubernetes Operator devuelve una lista de sus implementaciones de base de datos.

Volver

Acceso al Atlas

En esta página