Docs Menu
Docs Home
/ /
Empezar
/ / /

Inicio rápido de Helm Charts

Puedes utilizar Atlas Kubernetes Operator para gestionar recursos en Atlas sin salir de Kubernetes. Este tutorial demuestra cómo crear tu primer clúster en Atlas desde Helm Charts con Atlas Kubernetes Operator.

Nota

¿Prefieres comenzar sin Helm?

Para crear su primer clúster en Atlas a partir de archivos de configuración de Kubernetes con Atlas Kubernetes Operator, consulte Inicio rápido.

Este tutorial requiere:

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

Puede acceder al proyecto Atlas Kubernetes Operator en GitHub:

Importante

Los recursos personalizados ya no eliminan objetos de forma predeterminada

Atlas Kubernetes Operator utiliza archivos de configuración de recursos personalizados para gestionar tu configuración de Atlas. Sin embargo, a partir de la versión 2.0 del Atlas Kubernetes Operator, los recursos personalizados que elimines en Kubernetes ya no se eliminarán en Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos. Por ejemplo, si borras un AtlasProject Recurso personalizado en Kubernetes: el operador de Kubernetes de Atlas ya no elimina automáticamente el proyecto correspondiente de Atlas, lo que evita eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al valor predeterminado anterior al operador de Kubernetes de 2.0 Atlas, consulte Nuevo valor predeterminado: Protección contra eliminaciones en el operador de Kubernetes de 2.0 Atlas.

1

Registrar una nueva cuenta de Atlas o Iniciar sesión en tu cuenta de Atlas.

2

Nota

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.

Otorgar acceso programático a una organización y configurar la 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 deseas que el Atlas Kubernetes Operator cree un nuevo Proyecto de Atlas, otorga acceso programático a una organización. Si tu organización requiere una lista de acceso IP para la API de administración de Atlas, también deberás configurar la lista de acceso a la API.

    Importante

    Debes asignar a la clave API el rol organizacional 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.

3

Ejecute uno de los siguientes conjuntos de comandos:

  • Si desea que Atlas Kubernetes Operator supervise todos los espacios de nombres en el clúster de Kubernetes, ejecute los siguientes comandos:

    helm repo add mongodb https://mongodb.github.io/helm-charts
    helm install atlas-operator --namespace=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
  • Si desea que Atlas Kubernetes Operator solo observe su propio espacio de nombres, configure el --watchNamespaces indicador en su propio espacio de nombres y ejecute el siguiente comando:

    Nota

    Solo se puede establecer el --watchNamespaces indicador en su propio espacio de nombres. --watchNamespaces Actualmente no se admite establecer el indicador en ningún otro espacio de nombres.

    helm install atlas-operator --namespace=atlas-operator --set watchNamespaces=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
4
  1. Personalice el proyecto Atlas y los usuarios de su base de datos.

    Cree un archivo llamado install-values.yaml y pegue el siguiente código de ejemplo, que hace lo siguiente:

    • Establece el nombre del proyecto a My Project.

    • Permite que todas las direcciones IP (0.0.0.0) accedan al proyecto.

    • Crea un usuario de base de datos llamado dbadmin que tiene el dbAdmin rol.

    • Crea un usuario de base de datos llamado dbuser que tiene el readWrite rol.

    project: # Project custom values
    atlasProjectName: "My Project"
    projectIpAccessList:
    - cidrBlock: "0.0.0.0/0"
    users: # Custom database users
    - username: dbadmin
    databaseName: admin
    roles:
    - databaseName: admin-role
    roleName: dbAdmin
    - username: dbuser
    databaseName: admin
    roles:
    - databaseName: user-role
    roleName: readWrite
  2. Ejecute el siguiente comando.

    Las banderas --set y --values en el siguiente comando anulan los valores del archivo Values.yaml y los valores por defecto de Helm Charts con tu Identificador de la Organización, claves de API y configuración de Proyecto de Atlas.

    Nota

    mongodb/atlas-deployment hace referencia al nombre de un gráfico en el repositorio.

    helm install atlas-deployment \
    mongodb/atlas-deployment \
    --namespace=my-cluster \
    --create-namespace \
    --set atlas.secret.orgId='<orgid>' \
    --set atlas.secret.publicApiKey='<publicKey>' \
    --set atlas.secret.privateApiKey='<privateApiKey>' \
    --values install-values.yaml

    Para obtener más información sobre los parámetros disponibles, consulte AtlasDeployment Recurso personalizado.

    Para crear una instancia sin servidor, consulte el ejemplo de instancia sin servidor.

5

Ejecute el siguiente comando para esperar a que el usuario de la base de datos dbadmin esté listo:

kubectl wait --for=condition=ready --timeout=10m -n my-cluster atlasdatabaseusers/atlas-deployment-dbadmin

Nota

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

6

Importante

El siguiente comando requiere jq 1.6 o superior.

Ejecute el siguiente comando para recuperar la cadena de conexión y la contraseña del usuario de la base de datos dbadmin. Las cadenas de conexión serán diferentes a las del ejemplo.

kubectl get secret -n my-cluster my-project-cluster-name-dbadmin -ojson | jq -r '.data | with_entries(.value |= @base64d)';
{
"connectionStringStandard": "mongodb://admin-user:%25SomeLong%25password$foradmin@atlas-cluster-shard-00-00.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-01.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-02.nlrvs.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-11q9bn-shard-0",
"connectionStringStandardSrv": "mongodb+srv://admin-user:%25SomeLong%25password$foradmin@atlas-cluster.nlrvs.mongodb.net",
"password": "%SomeLong%password$foradmin",
"username": "dbadmin"
}

Puede usar el siguiente secreto en su aplicación:

containers:
- name: test-app
env:
- name: "CONNECTION_STRING"
valueFrom:
secretKeyRef:
name: my-project-cluster-name-dbadmin
key: connectionStringStandardSrv

Volver

Verifique la integridad del paquete

En esta página