如何从本地 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
如何从本地 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
只是充实格雷厄姆的答案,以防它可能会有所帮助(尽管我不是那么权威)。
这在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