Просто конкретизирую ответ Грэма на случай, если он может помочь (хотя я не такой авторитет).
Это сработало для меня в Robo 3T (формально RoboMongo) — графическом интерфейсе для администрирования MongoDB.
В результате я мог использовать графический интерфейс для удаленного взаимодействия с экземпляром MongoDB в OpenShift.
Вменяемость / проверка данных и ознакомление с окружающей средой
Предполагая, что у вас есть MongoDB, работающий на OpenShift, чтобы получить соответствующие данные, перейдите по ссылке:
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 следующим образом (заменив ваше фактическое имя модуля mongodb):
oc rsh mongodb-1-XXXX5
Затем запустите оболочку mongo со следующим (используя значения, которые вы получили из консоли ранее):
// 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
Соответствующая часть, касающаяся удаленного доступа к MongoDB в OpenShift, находится на четвертом шаге:
Чтобы настроить переадресацию портов между локальным компьютером и базой данных, работающей в OpenShift, вы используете команду oc port-forward. Вам необходимо передать имя модуля и сведения о порте, который использует служба базы данных, а также локальный порт для использования.
Формат команды следующий:
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 а>
Настройки удаленного графического интерфейса пользователя
Настройки, которые я затем определил в Robo 3T
, были следующими:
Тип: прямое подключение
Имя: Экземпляр OpenShift MongoDB
Адрес: локальный: 34000
И на вкладке Аутентификация...
Выполнить аутентификацию: проверено
База данных: админ
Имя пользователя: админ
Пароль: [ваш пароль администратора базы данных]
Механизм аутентификации:
СКРАМ-ША-1
person
user1063287
schedule
07.05.2018