如何使用标准 UNIX 命令端口转发 OpenShift?

如何使用标准 UNIX 命令端口转发 OpenShift?

OpenShift Origin 客户端工具允许转发端口(示例命令oc port-forward postgresql-1-a7hrv 5432:)。

然而,我的数据库备份是从 FreeBSD 盒子中获取的。显然是奥克工具在 *BSD 上不可用,无论如何我宁愿使用标准命令。

我如何oc port-forward在 FreeBSD 上执行等效操作并访问相应的数据库?

答案1

我想你应该使用 SSH 端口转发。如果我​​理解正确的话,你在一个名为 postgresql-1-a7hrv 的服务器上有一个名为 PostgreSQL 数据库,在端口 5432 上运行。为此,你必须使用以下命令通过 SSH 连接到此服务器:

ssh -L 127.0.0.1:5432:127.0.0.1:5432 user@postgresql-1-a7hrv

然后您可以在本地(127.0.0.1)端口 5432 上访问数据库。这假设您的 PostgreSQL 数据库侦听远程服务器上的 127.0.0.1。如果没有,请将该行更改为(其中 wxyz 是 PostgreSQL 服务器侦听的 IP): ssh -L 127.0.0.1:5432:w.x.y.z:5432 user@postgresql-1-a7hrv

答案2

直接连接到容器的唯一方法(除了使用之外oc port-forward)是通过 LoadBalancer 或 NodePort 公开它。路由仅适用于选定的协议 (HTTP/HTTPS)。 Postgres 需要使用 LoadBalancer 或 NodePort。请参阅此处的文档:

https://docs.openshift.org/latest/dev_guide/expose_service/index.html

一旦它公开,您就可以使用它通过 SSH 连接到容器,并从 FreeBSD 盒子中执行您需要执行的操作。

相关内容