Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator
/ /

从 Kubernetes 内部连接到 MongoDB 数据库资源

以下过程描述如何从 Kubernetes 集群内部连接到 Kubernetes 部署的 MongoDB 资源。

您必须能够连接到部署 Kubernetes 资源的主机和端口。 要了解有关连接到部署的更多信息,请参阅连接到 MongoDB 进程。

检索并运行部署的连接命令。您可以从 Ops Manager Cloud Manager 应用程序检索连接命令,具体取决于集群的托管位置。您还可以从 Kubernetes 密钥 中检索连接命令 ,当您 添加具有 SCRAM 身份验证 或 X 的 MongoDB 用户时,Kubernetes Operator 自动创建。509

连接 MongoDB 数据库资源的过程视您想要检索连接字符串的方式而有所不同:

Ops ManagerCloud Manager 应用程序中执行以下步骤,具体取决于托管集群的位置:

1

单击左侧导航栏中的 Deployment

2
3
4
5

例子

要连接到名为 shardedcluster的分片集群资源,可以使用以下连接字符串:

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

从 Kubernetes 内部连接到资源时,您连接的主机名具有以下形式:

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

当您创建新的MongoDB database 用户时,Kubernetes Operator 会自动创建新的Kubernetes 密钥 。Kubernetes 的 秘密 包含有关新数据库用户的以下信息:

  • username:数据库用户的用户名

  • password:数据库用户的密码

  • connectionString.standard标准连接string ,可以让您以此数据库用户的身份连接到数据库。

  • connectionString.standardSrvDNS 种子列表连接string ,可以让您以此数据库用户的身份连接到数据库。

注意

或者,您可以在MongoDB 用户资源规范中指定可选的spec.connectionStringSecretName字段,以指定 Kubernetes Operator 创建的连接字符串密钥的名称。

执行以下步骤以查看档案并使用连接string连接到MongoDB :

1

在终端中运行以下命令以查看 密钥 ,将变量替换为表中的值:

占位符
说明
{MongoDB-Resource-Name}
用于标识 MongoDB 资源的人类可读标签。
{User-Name}
用于标识 MongoDB 用户的人类可读标签。
kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'

如果此命令返回错误,您可以验证 密钥 的名称 运行以下命令并检索正确的名称:

kubectl get secrets
2
3

使用连接string中的 connectionString.standard 值连接到部署。

mongosh {connectionString.standard}
4

您可以 在 pod 中挂载密钥 以确保您的应用程序可以访问档案。

后退

访问数据库资源