如何使用本地mac中的https://mongobooster.com/连接到我的Openshift 3 MongoDB?来自pod的凭据不起作用。
Pod: nodejs-mongo-persistent-1-rt6ch
Connected to MongoDB at: mongodb://userLorem:ABC123SomePassword@172.123.123.123:27017/sampledb
答案 0 :(得分:5)
只要充实格雷厄姆的答案,以防它可能有所帮助(虽然我不是一个权威人士)。
这对我来说是Robo 3T(正式的RoboMongo) - 一个用于MongoDB管理的GUI。
结果是我可以使用GUI与OpenShift上的MongoDB实例进行远程交互。
理智/数据检查和环境熟悉
假设您在OpenShift上运行MongoDB,要获取相关数据,请转到:
Your Project
> Resources
> Secrets
> mongodb
> [ click reveal secret ]
如果您尚未将这些值复制到安全的地方:
database-admin-password:*****
database-name:sampledb
database-password:*****
database-user:*****
假设您安装了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并转发到27017 吊舱。
请参阅:https://docs.openshift.com/online/dev_guide/port_forwarding.html
远程GUI设置
我在Robo 3T
中定义的设置是:
类型:直接连接
名称:OpenShift MongoDB实例
地址:localhost:34000
在“身份验证”标签上...
执行身份验证:已选中
数据库:admin
用户名:admin
密码:[您的数据库管理员密码]
认证机制:
SCRAM-SHA-1
答案 1 :(得分:1)