5

如何从本地 Mac使用https://mongobooster.com/连接到我的 Openshift 3 MongoDB?来自 pod 的凭据不起作用。

吊舱: nodejs-mongo-persistent-1-rt6ch

Connected to MongoDB at: mongodb://userLorem:ABC123SomePassword@172.123.123.123:27017/sampledb
4

2 回答 2

10

只是充实格雷厄姆的答案,以防它可能会有所帮助(尽管我不是那么权威)。

这在Robo 3T(以前称为 RoboMongo)中对我有用——一个用于 MongoDB 管理的 GUI。

结果是我可以使用 GUI 与 OpenShift 上的 MongoDB 实例进行远程交互。

健全性/数据检查和环境熟悉

假设您在 OpenShift 上运行 MongoDB,要获取相关数据,请访问:

Your Project> Resources> Secrets> mongodb>[ click reveal secret ]

如果您还没有将这些值复制到安全的地方:

数据库管理员密码:*****

数据库名称:sampledb

数据库密码:*****

数据库用户:*****

假设您安装了OpenShift CLI工具,您可以执行以下操作来熟悉您的项目环境:

oc get pods

将返回类似:

NAME                     READY     STATUS       RESTARTS   AGE
mongodb-1-XXXX5          1/1       Running      0          12h
my-node-app-10-build     0/1       Completed    0          10h
my-node-app-2-build      0/1       Init:Error   0          11h
my-node-app-8-cg2v2      1/1       Running      0          10h
my-node-app-9-build      0/1       Completed    0          10h

然后,您可以rsh使用以下内容进入您的 mongo pod(替换为您的实际 mongodb pod 名称):

oc rsh mongodb-1-XXXX5

然后使用以下命令运行 mongo shell(使用您之前从控制台获得的值):

// don't do this...
// normal user name, normal user password (won't allow you to run 'show dbs')
// mongo -u "database-user" -p "database-password" sampledb

// do this...
// admin user, admin user password (this lets you run 'show dbs' etc)
mongo -u "admin" -p "database-admin-password" admin

设置端口转发

上面的步骤让我对我正在使用的东西更加熟悉,然后我可以研究端口转发:

https://learn.openshift.com/introduction/port-forwarding

在 OpenShift 上远程访问 MongoDB 的相关部分在第四步:

要在本地机器和 OpenShift 上运行的数据库之间设置端口转发,请使用 oc port-forward 命令。您需要传递 pod 的名称和数据库服务正在使用的端口的详细信息,以及要使用的本地端口。

该命令的格式为:

oc port-forward <pod-name> <local-port>:<remote-port>

就我而言,我这样做了:

oc port-forward mongodb-1-XXXX5 34000:27017

所以这意味着:

客户端在本地监听 34000 端口,并转发到 pod 中的 27017。

请参阅: https ://docs.openshift.com/online/dev_guide/port_forwarding.html

远程 GUI 设置

然后我定义的设置Robo 3T是:

类型:直接连接

名称:OpenShift MongoDB 实例

地址:本地主机:34000

在身份验证选项卡上...

执行身份验证:选中

数据库:管理员

用户名:管理员

密码:[您的数据库管理员密码]

授权机制:

SCRAM-SHA-1

于 2018-05-07T05:22:39.623 回答
1

您需要使用端口转发。请参阅端口转发教程:

该示例适用于 PostgreSQL,但原理相同。

于 2017-09-30T11:58:26.300 回答