当前位置: 首页 > 知识库问答 >
问题:

如何在openshift origin中远程访问数据库服务

公羊绪
2023-03-14

我有一个开班原点3。*集群运行。它工作得很好,我有几个应用程序在那里运行,由它们自己的应用服务器、数据库服务器和ldap服务器open shift services/deployments/pods组成。

这些 Web 应用程序通过 HA2 路由器公开。所有这些都运行良好,我们可以使用通过HA2路由器设置的Openshift路由访问Web应用程序。但是,我们希望使用“psql”(命令行Postgresql客户端)或PgAdmin(连接到Postgresql的GUI)等工具访问Openshift中运行的Postgresql数据库服务。

我被如何完成这件事难住了。Openshift中的服务或pods在连接到Postgresql pods时没有问题——因为Openshift执行自己的DNS并在这些pods之间路由。然而,我所熟悉的从外部进行通信的唯一方式是通过像HA2-router这样的路由器。这不起作用,因为HA2路由器通过HTTP公开Postgresql中的服务...我们需要通过TCP在端口5432上连接到一个Postgresql pod。

谢谢

共有2个答案

越国源
2023-03-14

你可以用

前移

为了充分利用“hrc port-Advanced”工具,请确保您拥有最新版本的客户端工具。在通过ruby gem安装了客户端工具的系统上,输入以下命令:

$ sudo yum update rhc

步骤 2

现在您已经安装了最新的客户端工具,您应该可以访问“hrc port-的转发”命令。一旦该命令被调用,客户端工具将扫描您部署的应用程序,并寻找任何可以转发的嵌入式服务。然后,客户端工具将配置您的本地系统,使其能够连接到您的远程应用程序的可用服务。

$ 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

步骤三

您可以看到该命令现已将应用程序中的端口 5432 映射到本地计算机上的端口 5432。您现在可以连接到端口 5433 上的本地环回地址 (127.0.0.1),以连接到设备上运行的 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.htmlhttps://docs.openshift.com/enterprise/3.0/dev_guide/port_forwarding.html

张茂勋
2023-03-14

找到了。Openshift v3。*有一个类似于上面SathAk发布的“rhc”命令的命令(谢谢!)对于v2。*.

使用“oc”命令登录到Openshift项目后,您可以运行:

oc get pods | grep Running

这将显示您的运行pod列表。找到Postgreql(或您有兴趣通过其暴露的端口直接连接到的任何其他pod),并运行以下命令:

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

这会将所有流量从 pod 的 5432 端口转发到本地 5432 端口,您可以使用 GUI PgAdmin、Valentina 等工具或命令行 psql 连接到 pod 中的 Postgresql 实例,如下所示:

 psql -h localhost -U user -d database -p 5432 -W
 类似资料:
  • 问题内容: 我已经开发了一个 JAVA SWING应用程序 。我想在安装此应用程序 几台电脑 ,所有 访问互联网 。那么我应该在哪里放置MYSQL数据库?所有这些计算机都应该能够 通过Internet访问相同的数据库。 问题答案: 出于安全性(身份验证授权,加密)和性能的原因,允许直接通过Internet访问数据库不是很常见。在大多数情况下,您将创建一个基于Web的服务器应用程序,该应用程序可以执

  • 我网站出现以下错误: 警告:mysql_connect():拒绝/home/fiveghr/public_html/don/dbconnection/connection中的用户'mydb_db'@'localhost'(使用密码:YES)访问。第8行PHP无法连接:拒绝用户'mydb_db'@'localhost'(使用密码:YES)访问

  • 我有一个MySQL数据库存在于一个远程服务器上。我只有sql连接特权。我没有对服务器的FTP访问权限,我需要对数据库进行一次完整的转储。我试过,但问题是它在服务器上创建输出,由于我没有FTP,所以无法从服务器上获取输出。 我如何做一个干净的备份,并在我的本地机器中获得转储(当然,备份应该在我的本地机器中恢复)?

  • 我有一个有机架空间的服务器。我想从我的本地计算机命令行访问数据库。 我试着说: 但它给出了一个错误: 错误2003(HY000): 无法连接到“my.application.com”上的MySQL服务器(10061) 导致此错误的原因以及如何连接到远程数据库?

  • 我有一个应用程序,我必须访问连接到同一网络的所有pc及其MySql数据库,我还想远程连接到服务器。 实际上,我有一个下拉服务列表,每个服务都有一个库名。当我选择一个服务时,我想建立与数据库的连接,它要么位于同一个网络上,要么位于任何远程服务器上。 记住,我知道主机名、用户名、密码和数据库名。我正在使用mysqli_connect函数。 我尝试了网上提供的多种选择,但都是徒劳的。e、 g授予主机和用

  • 问题内容: 我已经创建了一个关于餐馆的在线数据库,我需要通过我的android应用程序访问该数据库,以便在过滤后可以向用户显示数据。我的应用程序不需要更新数据库,但是我的问题是如何连接到我的在线mysql数据库并将其提供给用户?我已经在该站点以及其他站点上查看了许多建议,但我发现访问时必须使用JSON解析器,但不必这样做。 问题答案: 最好的解决方案是提供一个公共API,例如,使用PHP管理该AP