Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Conectarse a un recurso de base de datos MongoDB desde dentro de Kubernetes

El siguiente procedimiento describe cómo conectarse a un recurso de MongoDB implementado por Kubernetes desde dentro del clúster de Kubernetes.

Debe poder conectarse al host y al puerto donde ha implementado su recurso de Kubernetes. Para obtener más información sobre cómo conectarse a su implementación, consulte Conéctese a un proceso de MongoDB.

Recupera y ejecuta el comando de conexión para tu implementación. Puedes recuperar el comando de conexión en la aplicación Ops Manager o Cloud Manager, dependiendo de dónde se alojen tus clústeres. También puede recuperar el comando de conexión desde el secreto de Kubernetes que el Operador de Kubernetes crea automáticamente cuando usted agrega un usuario de MongoDB con autenticación SCRAM o X509.

El procedimiento para conectarse a un recurso de base de datos MongoDB varía en función de cómo se desea recuperar la cadena de conexión:

Realiza los siguientes pasos en la aplicación Ops Manager o Cloud Manager, dependiendo de dónde estén alojados tus clústeres:

1

Haz clic en Deployment en la navegación izquierda.

2
3
4
5

Ejemplo

Para conectarse a un recurso de clúster particionado llamado shardedclusterpuedes usar la siguiente cadena de conexión:

mongosh --host shardedcluster-mongos-0.shardedcluster-svc.mongodb.svc.cluster.local \
--port 27017

Al conectarse a un recurso desde dentro de Kubernetes, el nombre de host al que se conecta tiene el siguiente formato:

<k8s-pod-name>.<k8s-internal-service-name>.<k8s-namespace>.<cluster-name>

Cuando creas un nuevo usuario de base de datos de MongoDB, el Operador de Kubernetes crea automáticamente un nuevo secreto de Kubernetes. El secreto de Kubernetes contiene la siguiente información sobre el nuevo usuario de la base de datos:

  • username: Nombre de usuario para el usuario de base de datos

  • password: Contraseña para el usuario de base de datos

  • connectionString.standard: Cadena de conexión estándar que puede conectarlo a la base de datos como este usuario de base de datos.

  • connectionString.standardSrv: cadena de conexión de lista de nodos iniciales DNS que puede conectarte a la base de datos como este usuario de base de datos.

Nota

Alternativamente, puedes especificar un campo opcional spec.connectionStringSecretName en la Especificación de Recurso de Usuario de MongoDB para indicar el nombre del secreto de la cadena de conexión que el operador de Kubernetes crea.

Realice los siguientes pasos para ver las credenciales y utilizar la cadena de conexión para conectarse a MongoDB:

1

Ejecuta el siguiente comando en un terminal para ver el secreto, sustituyendo las variables con los valores de la tabla:

Marcador de posición
Descripción

{MongoDB-Resource-Name}

Etiqueta legible por humanos que identifica el recurso MongoDB.

{User-Name}

Etiqueta legible por humanos que identifica al usuario de MongoDB.

kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'

Si este comando devuelve un error, puedes verificar el nombre del secreto ejecutando el siguiente comando y obteniendo el nombre correcto:

kubectl get secrets
2
3

Utiliza el valor connectionString.standard dentro de una cadena de conexión para conectarte a la implementación.

mongosh {connectionString.standard}
4

Puedes montar el secreto en tu pod para garantizar que tus aplicaciones puedan acceder a las credenciales.

Volver

Conectar