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 盒子中执行您需要执行的操作。