Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Inicio rápido

Puedes usar el operador Atlas Kubernetes Operator para gestionar los recursos en Atlas sin salir de Kubernetes. Este tutorial demuestra cómo crear su primer clúster en Atlas a partir de archivos de configuración de Kubernetes con Atlas Kubernetes Operator.

Advertencia

Orientación de seguridad para multiusuarios

No se debe compartir una sola instalación del Atlas Kubernetes Operator entre varios inquilinos, incluso si utilizan diferentes namespace. Los inquilinos que comparten un operador pueden utilizar referencias entre espacios de nombres para acceder a recursos en otros espacios de nombres, incluidos secretos que permiten el acceso a las configuraciones de Atlas de otros inquilinos u otros recursos en la nube. Para aislar a los inquilinos, hay que implementar una instancia separada del Atlas Kubernetes Operator para cada inquilino.

Nota

¿Preferiría comenzar con Helm?

Para crear tu primer clúster en Atlas a partir de Helm Charts con Atlas Kubernetes Operator, consulta Inicio rápido de Helm Charts.

Este tutorial requiere:

  • Una cuenta de Atlas. Para crear una, consulte Crear una cuenta de Atlas.

  • Una organización y un proyecto de Atlas. Para crearlos, consulta Crear un proyecto.

  • Un clúster de Kubernetes en ejecución con nodos que ejecutan procesadores con la arquitectura x86-64, AMD64 o ARM64.

  • kubectl Instalado y configurado para comunicarse con su clúster de Kubernetes.

  • jq 1.6 o posterior.

  • Acceso al proyecto de Atlas Kubernetes Operator en GitHub: https://github.com/mongodb/mongodb-atlas-kubernetes

Requisitos de red:

  • Los nodos de Kubernetes deben conectarse a Atlas a través del puerto 443 (HTTPS) para que el operador de Atlas Kubernetes pueda crear y administrar recursos.

  • El puerto 27017 (predeterminado) debe estar abierto entre todos los pods de Kubernetes si implementa un conjunto de réplicas de varios nodos.

Importante

Recursos personalizados ya no borran objetos por defecto

  • Atlas Kubernetes Operator uses custom resource archivos de configuración to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you borrar in Kubernetes are no longer (por defecto) borrados in Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos en Atlas. Por ejemplo, si eliminas un AtlasProject Custom recurso en Kubernetes, de forma predeterminada, el Atlas Kubernetes Operator ya no elimina automáticamente el Proyecto correspondiente de Atlas. Este cambio de comportamiento está diseñado para ayudar a prevenir eliminaciones accidentales o inesperadas. Para saber más, incluido cómo revertir este comportamiento al por defecto utilizado antes de Atlas Kubernetes Operator 2.0, consulta Nuevo valor por defecto: Protección de Eliminación en Atlas Kubernetes Operator 2.0.

    Del mismo modo, Atlas Kubernetes Operator no elimina los equipos de Atlas si los eliminas de un proyecto Atlas en Kubernetes utilizando Atlas Kubernetes Operator.

  • Define explícitamente los detalles de configuración que deseas para evitar el uso implícito de los valores de configuración por defecto de Atlas. En algunos casos, heredar los valores por defecto de Atlas puede crear un ciclo de conciliación que impida que el recurso personalizado alcance un estado de READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en el recurso personalizado AtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en el recurso personalizado no se aplique repetidamente a una implementación de Atlas que tiene el escalado automático habilitado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40
1

Regístrate e inicia sesión en Atlas o Regístrate e inicia sesión en Atlas.

2

Elija uno de los siguientes métodos para instalar Atlas Kubernetes Operator:

Para instalar Atlas Kubernetes Operator usando Atlas CLI, ejecutar el siguiente comando:

Importante

La Atlas CLI crea una clave de API pero no puede detectar la IP saliente de su clúster. Utiliza la bandera --ipAccessList para permitir la lista blanca de la IP de tu clúster de Kubernetes o el bloque CIDR para que Atlas Kubernetes Operator pueda comunicarse con Atlas.

atlas kubernetes operator install --ipAccessList <IP_OR_CIDR> [options]

Nota

Para instalar el Atlas Kubernetes Operator para Atlas para Gobierno, agregue el indicador --atlasGov al comando anterior.

Este comando automáticamente:

  • Cree un nuevo API key en tu organización de Atlas.

  • Agrega tu IP/CIDR proporcionada a la clave de API lista de acceso IP.

  • Instala Atlas Kubernetes Operator en el clúster de Kubernetes configurado en su contexto kubectl actual obteniendo los manifiestos de GitHub.

Para verificar su contexto activo antes de ejecutar el comando, ejecute kubectl config current-context. Para cambiar a un clúster diferente, ejecute kubectl config use-context <context-name>.

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.

Para instalar el Atlas Kubernetes Operator usando kubectl, sigue estos pasos:

  1. Reemplaza <VERSION> con el número de versión más reciente y ejecuta uno de los siguientes comandos:

    • Si quiere que el Atlas Kubernetes Operator supervise todos los namespaces en el clúster de Kubernetes, ejecute:

      kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/refs/heads/main/releases/v<VERSION>/deploy/all-in-one.yaml
    • Si quieres que el Atlas Kubernetes Operator vigile solo su namespace, instala los archivos de configuración desde el directorio deploy/namespaced:

      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
  2. Cree credenciales para Atlas Kubernetes Operator para autenticarse con Atlas. Elija una de las siguientes opciones:

3

Cree y etiquete un secreto que Atlas Kubernetes Operator utiliza para autenticarse con Atlas. Elija la pestaña que coincida con su método de autenticación preferido:

Si utiliza un almacenamiento de secretos externo, su gestor de secretos externo creará y administrará los secretos de Kubernetes. Para obtener más información, consulte Configurar el almacenamiento de secretos.

4

Ejecuta el siguiente comando para crear el AtlasProject recurso personalizado:

Nota

El siguiente ejemplo no especifica spec.connectionSecretRef.name. Si no se especifica, el Atlas Kubernetes Operator utiliza el secreto de conexión por defecto previamente configurado con tus credenciales e Identificador de la Organización.

Implementa el recurso personalizado del 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
5

Ejecuta uno de los siguientes comandos para crear un AtlasDeployment Recurso personalizado y crear un clúster:

Nivel de 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

nivel 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 crear una instancia sin servidor, consulte el ejemplo de instancia sin servidor.

6

Reemplace P@@ssword% con su contraseña y ejecute los siguientes comandos:

kubectl create secret generic the-user-password --from-literal="password=P@@sword%"
kubectl label secret the-user-password atlas.mongodb.com/type=credentials

Si utiliza un almacenamiento de secretos externo, su gestor de secretos externo creará y administrará los secretos de Kubernetes. Para obtener más información, consulte Configurar el almacenamiento de secretos.

7

Ejecuta el siguiente comando para crear el AtlasDatabaseUser recurso personalizado:

Nota

spec.passwordSecretRef debe hacer referencia a la contraseña que creó 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
8

Ejecute el siguiente comando hasta que reciba una respuesta True, lo que indica que el usuario de la base de datos está listo:

Nota

El AtlasDatabaseUser Recurso personalizado espera hasta que el clúster esté listo. Crear un nuevo clúster de Atlas en el plan gratuito lleva menos de 15 segundos. Crear un nuevo clúster Flex o Dedicado puede tardar hasta 10 minutos.

kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
9
  1. Copie el siguiente comando:

    Importante

    El siguiente comando requiere jq 1.6 o superior.

    kubectl get secret {my-project}-{my-atlas-cluster}-{my-database-user} -o json | jq -r '.data | with_entries(.value |= @base64d)';
  2. Reemplaza los siguientes marcadores de posición con los detalles para tus recursos personalizados:

    my-project

    Especifica el valor del campo metadata de tu AtlasProject Recurso Personalizado.

    my-atlas-cluster

    Especifica el valor del campo metadata de tu AtlasDeployment Recurso Personalizado.

    my-database-user

    Especifica el valor del campo metadata de tu AtlasDatabaseUser Recurso Personalizado.

  3. Ejecuta el comando.

    Nota

    Tus cadenas de conexión serán diferentes del siguiente ejemplo.

    {
    "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"
    }

    Puedes usar este secreto de Kubernetes en tu aplicación:

    containers:
    - name: test-app
    env:
    - name: "CONNECTION_STRING"
    valueFrom:
    secretKeyRef:
    name: test-atlas-operator-project-test-cluster-theuser
    key: connectionStringStandardSrv

Una vez finalizado el procedimiento, confirme que su clúster está listo antes de conectarse.

punto de control
Paso de verificación

Recurso personalizado listo

Ejecuta kubectl get atlasdeployment -n <your-namespace> y confirma que el recurso AtlasDeployment muestra la condición READY como True.

Agrupamiento saludable en Atlas

En la interfaz de usuario de Atlas, confirme que el clúster aparece en su proyecto con un estado de Active.

La conexión se realiza correctamente.

Utilice la cadena de conexión de Atlas para conectarse con y confirmar que el clúster es mongosh accesible.

Después de verificar su clúster, puede: