2016-12-27 6 views
2

У меня есть Openshift Origin 3. * скопируйте бег. Он отлично работает, и у меня работает несколько приложений, состоящих из собственного сервера приложений, сервера базы данных и сервера ldap. Открывает службы/развертывания/контейнеры Openshift.как получить доступ к сервису базы данных удаленно в начале начала спуска

Эти веб-приложения открыты через HA2-маршрутизатор. Все это хорошо работает, и мы можем получить доступ к веб-приложениям, используя Routes Openshift, которые мы установили через HA2-маршрутизатор. Однако мы хотели бы получить доступ к службам базы данных Postgresql, работающим в Openshift, с такими инструментами, как «psql» (клиент командной строки Postgresql) или PgAdmin (графический интерфейс, который подключается к Postgresql).

Я в тупике, как это сделать. Сервисы или контейнеры в Openshift не имеют проблем с подключением к модулям Postgresql - потому что они Openshift выполняют свой собственный DNS и маршрутизируют между этими контейнерами. Однако единственный способ, которым я знаком с этим сообщением, может произойти от за пределами через маршрутизатор, такой как HA2-маршрутизатор. Это не работает, потому что HA2-маршрутизатор предоставляет услуги в Postgresql через HTTP ... Нам нужно подключиться к модулю Postgresql через TCP, на порту 5432.

Спасибо.

ответ

1

Вы можете использовать

порт вперед

Для того, чтобы в полной мере воспользоваться инструментом «RHC порта вперед», убедитесь, что у вас есть последняя версия клиента инструментов , В системах с клиентских инструментов, установленных с помощью рубинового самоцвета, введите следующую команду:

$ sudo yum update rhc 

Шаг 2

Теперь, когда у вас установлены последние клиентские средства, вы должны иметь доступ к «КПС порт-вперед ". После вызова команды клиентские инструменты будут сканировать развернутое приложение и искать любые встроенные службы, доступные для пересылки. Затем клиентские инструменты настроят вашу локальную систему, чтобы иметь возможность подключаться к доступным службам для удаленного приложения.

$ rhc port-forward -a exampleapp 


Forwarding ports ... 

To connect to a service running on OpenShift, use the Local address 

Service Local    OpenShift 
---------- -------------- ---- ---------------- 
httpd  127.0.0.1:8080 => 19.66.2.6:8080 
postgresql 127.0.0.1:5432 => 19.66.2.7:5432 

Press CTRL-C to terminate port forwarding 

Шаг 3

Вы можете видеть, эту команда теперь отображается портом 5432 в приложении к порту 5432 на локальной машине. Теперь вы можете подключиться к локальному адресу loopback (127.0.0.1) на порту 5433 для подключения к PostgreSQL, работающему на передаче.

$ psql -h 127.0.0.1 -p 5433 -U adminm4rvN42 exampleapp 
Password for user adminm4rvN42: 
psql (9.3.2, server 9.2.4) 
Type "help" for help. 

exampleapp=# <emphasis role="strong">\dt</emphasis> 
       List of relations 
Schema |  Name  | Type | Owner 
--------+-----------------+-------+-------------- 
public | long_adjective | table | adminm4rvN42 
public | noun   | table | adminm4rvN42 
public | short_adjective | table | adminm4rvN42 
(3 rows) 

exampleapp=# 

или можете подключиться к инструменту pgadmin тоже.

Вы можете посетить ссылку для дальнейших уточнений

https://blog.openshift.com/getting-started-with-port-forwarding-on-openshift/ https://developers.openshift.com/managing-your-applications/port-forwarding.html https://docs.openshift.com/enterprise/3.0/dev_guide/port_forwarding.html

+0

Спасибо. «rhc» для Openshift v2. Openshift v3. * Совершенно другой, основанный на контейнеризованной модели против картриджа. Нет никакого «rhc» для Openshift v3. * – Lev

+0

Спасибо за информацию – SarthAk

2

Нашел. Openshift v3. * Имеет аналогичную команду команде «rhc» SathAk, опубликованной выше (спасибо!) Для v2. *.

после входа в ваш проект OpenShift с командой «ос», вы можете запустить:

oc get pods | grep Running 

, которая покажет вам список ваших Выполняемые стручков. Найти Postgresql (или любой другой стручок вы заинтересованы в подключении непосредственно через ее неприкрытой порт), и запустить это:

oc port-forward [name of postgresql pod] 5432:5432 

Это будет перенаправлять весь трафик от 5432 порта стручка на локальном 5432 порт, и вы можете подключиться к экземпляру Postgresql в модуле с вашими инструментами GUI PgAdmin, Valentina и т. д. или с командной строкой psql, например:

psql -h localhost -U user -d database -p 5432 -W 
+0

спасибо, я также начал работать над v3 – SarthAk