Docs Menu
Docs Home
/ /
/ / /

Inicio rápido de Helm Charts

Puede usar Atlas Kubernetes Operator para administrar recursos en Atlas sin salir de Kubernetes. Este tutorial muestra cómo crear su 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 la arquitectura x86-64, AMD64 o ARM64.

Puede acceder al proyecto Atlas Kubernetes Operator en GitHub:

  • https://github.com/mongodb/mongodb-atlas-kubernetes

Importante

Los recursos personalizados ya no eliminan objetos de forma predeterminada

  • Atlas Kubernetes Operator utiliza archivos de configuración de recursos personalizados para administrar su configuración de Atlas. Sin embargo, a partir de la versión de Atlas Kubernetes 2.0 Operator, los recursos personalizados que elimine en Kubernetes ya no se eliminan (de forma predeterminada) en Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de administrarlos en Atlas. Por ejemplo, si elimina un AtlasProject Recurso personalizado en Kubernetes. De forma predeterminada, el operador de Kubernetes de Atlas ya no elimina automáticamente el proyecto correspondiente de Atlas. Este cambio de comportamiento ayuda a evitar eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al 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.

    De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con Atlas Kubernetes Operator.

  • Defina explícitamente los detalles de configuración deseados para evitar el uso implícito de los valores predeterminados de Atlas. En algunos casos, heredar los valores predeterminados de Atlas puede generar un bucle de conciliación que impide que su recurso personalizado alcance el estado READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en su recurso personalizado AtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en su recurso personalizado no se aplique repetidamente a una implementación de Atlas con el escalado automático habilitado.

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

Registre una nueva cuenta Atlas o inicie sesión en su cuenta Atlas.

2

Crear un Clave API con Organization Project Creator permisos o siguiendo Project Owner el procedimiento en Otorgar acceso programático a una organización.

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 supervise un conjunto específico de espacios de nombres, configure el --watchNamespaces indicador como una lista separada por comas de los espacios de nombres que se supervisarán. Por ejemplo, ejecute el siguiente comando para supervisar solo el atlas-operator 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.

    Nota

    Puede encontrar los siguientes ejemplos adicionales de gráficos de Helm en GitHub:

    • atlas-basic: un ejemplo simple de implementación de Atlas Kubernetes Operator que incluye la creación de un proyecto Atlas, un clúster y un usuario de base de datos.

    • atlas-advanced: un ejemplo de implementación de operador de Kubernetes de Atlas avanzado y extensible con biolerplate relacionado con implementaciones de múltiples regiones, comportamiento de escalamiento automático y más.

    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.

    Los indicadores --set y --values en el siguiente comando anulan los valores del archivo Values.yaml y los valores predeterminados de Helm Charts con su ID de organización, claves API y configuración del proyecto 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 -o json | 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 utilizar 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