El siguiente procedimiento describe cómo conectarse a un recurso MongoDB implementado por Kubernetes desde dentro del clúster de Kubernetes.
Considerations
Debe poder conectarse al host y al puerto donde implementó su recurso de Kubernetes. Para obtener más información sobre cómo conectarse a su implementación, consulte Conectarse a un proceso de MongoDB.
Procedimiento
Recupere y ejecute el comando de conexión para su implementación. Puede recuperarlo desde la aplicación Ops Manager o Cloud Manager, según dónde se alojen sus clústeres. También puede recuperarlo desde el secreto de Kubernetes.que el operador de Kubernetes crea automáticamente cuando agrega un usuario MongoDB con autenticación SCRAM o509 X.
El procedimiento para conectarse a un recurso de base de datos MongoDB varía según cómo desee recuperar su cadena de conexión:
Realice los siguientes pasos en la aplicación Ops Manager o Cloud Manager, según dónde estén alojados sus clústeres:
Ejecuta el comando de conexión en una terminal para conectar con la implementación.
Ejemplo
Para conectarse a un recurso de clúster fragmentado llamado
shardedcluster, puede utilizar 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>
Al crear un nuevo usuario de base de datos MongoDB, el operador de Kubernetes crea automáticamente un nuevo secreto de Kubernetes. Este secreto contiene la siguiente información sobre el nuevo usuario de base de datos:
username: Nombre de usuario para el usuario de la base de datospassword: Contraseña para el usuario de la base de datosconnectionString.standard:Cadenade 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 la lista desemillas DNS que puede conectarlo a la base de datos como este usuario de base de datos.
Nota
Como alternativa, puede especificar un spec.connectionStringSecretName campo opcional en la Especificación de recursos de usuario de MongoDB para especificar el nombre del secreto de la cadena de conexión que crea el operador de Kubernetes.
Realice los siguientes pasos para ver las credenciales y usar la cadena de conexión para conectarse a MongoDB:
Ejecute el comando para ver el archivo secreto de Kubernetes.
Ejecute el siguiente comando en una terminal para ver el secreto, reemplazando las variables con los valores de la tabla:
Marcador de posición | Descripción |
|---|---|
{Nombre del recurso MongoDB} | Etiqueta legible por humanos que identifica el recurso MongoDB. |
{Nombre de usuario} | 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, puede verificar el nombre del secreto ejecutando el siguiente comando y recuperando el nombre correcto:
kubectl get secrets
Ejecuta el comando de conexión.
Utilice el connectionString.standard valor dentro de una cadena de conexión para conectarse a la implementación.
mongosh {connectionString.standard}
(Opcional) Monte el secreto de Kubernetes en su pod.
Puede montar el secreto en su pod para garantizar que sus aplicaciones puedan acceder a las credenciales.