对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

从 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 数据库用户时, Kubernetes Operator 会自动创建新的Kubernetes 密钥。Kubernetes密钥包含有关新数据库用户的以下信息:

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

  • password:数据库用户的密码

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

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

注意

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

By default, both connection strings omit the database from the URI path, so the database that clients use depends on the client. To set the database in the URI path, specify the optional spec.connectionStringDatabase field.

执行以下步骤以查看档案并使用连接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 中挂载密钥 以确保您的应用程序可以访问档案。

给本页内容打分