Подключиться к openshift 3 mongodb с удаленного компьютера?

Как мне подключиться к моей Openshift 3 MongoDB с помощью https://mongobooster.com/ с моего локального Mac? Учетные данные из модуля не работают.

Под: nodejs-mongo-persistent-1-rt6ch

Connected to MongoDB at: mongodb://userLorem:[email protected]:27017/sampledb

person fabian    schedule 30.09.2017    source источник


Ответы (2)


Просто конкретизирую ответ Грэма на случай, если он может помочь (хотя я не такой авторитет).

Это сработало для меня в 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

Вам нужно использовать переадресацию портов. См. руководство по переадресации портов по адресу:

Пример для PostgreSQL, но принцип тот же.

person Graham Dumpleton    schedule 30.09.2017