Connect to a MongoDB Database Resource from Inside Kubernetes
The following procedure describes how to connect to a MongoDB resource
deployed by Kubernetes from inside of the Kubernetes cluster.
Considerations
You must be able to connect to the host and port where you deployed your
Kubernetes resource. To learn more about connecting to your deployment, see
Connect to a MongoDB Process.
Procedure
Retrieve and run the connection command for your deployment. You can retrieve
the connection command from the Ops Manager or
Cloud Manager
application, depending on where your clusters are hosted. You can also retrieve the connection command from
the Kubernetes secret that the Kubernetes Operator creates automatically when you
add a MongoDB user with SCRAM authentication or X509.
The procedure for connecting to a MongoDB Database resource varies based
on how you want to retrieve your connection string:
Perform the following steps in the Ops Manager or Cloud Manager
application, depending on where your clusters are hosted:
1
Open the Topology view for your deployment.
Click Deployment in the left navigation.
2
Click for the deployment to which you want to connect.
3
Click Connect to this instance.
4
Copy the connection command displayed in the Connect to your Deployment dialog.
5
Run the connection command in a terminal to connect to the deployment.
Example
To connect to a sharded cluster resource named
shardedcluster, you might use the following connection
string:
When you create a new MongoDB database user, Kubernetes Operator automatically
creates a new Kubernetes secret. The Kubernetes secret
contains the following information about the new database user:
username: Username for the database user
password: Password for the database user
connectionString.standard: Standard connection string
that can connect you to the database as this database user.
Alternatively, you can specify an optional
spec.connectionStringSecretName field in the
MongoDB User Resource Specification to specify
the name of the connection string secret that the
Kubernetes Operator creates.
Perform the following steps to view the credentials and
use the connection string to connect to MongoDB:
1
Run the command to view the Kubernetes secret file.
Run the following command in a terminal to view the secret, replacing
the variables with the values in the table:
Placeholder
Description
{MongoDB-Resource-Name}
Human-readable label that identifies the MongoDB resource.
{User-Name}
Human-readable label that identifies the MongoDB user.
kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'
If this command returns an error, you can verify the name of the secret by
running the following command and retrieving the correct name:
kubectl get secrets
2
Copy the connectionString.standard value displayed in the Kubernetes secret file.
3
Run the connection command.
Use the connectionString.standard value within a connection string
to connect to the deployment.
mongosh {connectionString.standard}
4
(Optional) Mount the Kubernetes secret in your pod.