以下过程描述如何从 Kubernetes 集群内部连接到 Kubernetes 部署的 MongoDB 资源。
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.
步骤
检索并运行部署的连接命令。您可以从Ops Manager或Cloud Manager应用程序检索连接命令,具体取决于集群的托管位置。您还可以从Kubernetes密钥中检索连接命令,该密钥是在您使用SCRAM身份验证或 X509 添加MongoDB用户时Kubernetes Operator 自动创建的。
连接 MongoDB 数据库资源的过程视您想要检索连接字符串的方式而有所不同:
在 Ops Manager 或 Cloud Manager 应用程序中执行以下步骤,具体取决于托管集群的位置:
从 Kubernetes 内部连接到资源时,您连接的主机名具有以下形式:
<k8s-pod-name>.<k8s-internal-service-name>.<k8s-namespace>.<cluster-name>
当您创建新的MongoDB 数据库用户时, Kubernetes Operator 会自动创建新的Kubernetes 密钥。Kubernetes密钥包含有关新数据库用户的以下信息:
username:数据库用户的用户名password:数据库用户的密码connectionString.standard:标准连接string ,可以让您以此数据库用户的身份连接到数据库。connectionString.standardSrv: DNS seed list connection string that can connect you to the database as this database user.
注意
或者,您可以在MongoDB 用户资源规范中指定可选的spec.connectionStringSecretName字段,以指定 Kubernetes Operator 创建的连接字符串密钥的名称。
执行以下步骤以查看档案并使用连接string连接到MongoDB :
运行连接命令。
使用连接string中的 connectionString.standard 值连接到部署。
mongosh {connectionString.standard}
(可选)在 Pod 中挂载 Kubernetes 密钥。
您可以在 Pod 中挂载密钥,确保应用程序可以访问权限凭证。