gpt4 book ai didi

postgresql - Openshift:远程公开 postgresql

转载 作者:行者123 更新时间:2023-11-29 12:40:51 32 4
gpt4 key购买 nike

我已经在我的 openshift origin v3 中创建了一个 postgresql 实例。它运行正常,但我不太明白为什么我无法远程访问它。

我暴露了一条路线:

$oc get routes
postgresql postgresql-ra-sec.192.168.99.100.nip.io postgresql postgresql None

$ oc get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
postgresql ClusterIP 172.30.59.113 <none> 5432/TCP 57m

这是我的路线:

enter image description here

我正在尝试从 ubuntu 操作系统访问此实例。我正在尝试使用 psql 获取访问权限:

$ psql --host=postgresql-ra-sec.192.168.99.100.nip.io --dbname=tdevhub
psql: could not connect to server: Connection refused
Is the server running on host "postgresql-ra-sec.192.168.99.100.nip.io" (192.168.99.100) and accepting
TCP/IP connections on port 5432?

否则:

$ psql --host=postgresql-ra-sec.192.168.99.100.nip.io --port=80 --dbname=tdevhub
psql: received invalid response to SSL negotiation: H

我检查了 dns 解析,它似乎工作正常:

$ nslookup postgresql-ra-sec.192.168.99.100.nip.io                    
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: postgresql-ra-sec.192.168.99.100.nip.io
Address: 192.168.99.100

编辑

这个呢?

enter image description here

为什么会有这个重定向?我可以尝试在 port-forwarding 之前更改它吗?

最佳答案

通过路由公开服务意味着您启用外部 HTTP 流量。对于像 Postgresql 这样的服务,这不会按照您的示例工作。

另一种方法是将端口转发到您的本地计算机并以这种方式连接。例如,运行 oc get pods然后 oc port-forward <postgresql-pod-name> 5432 , 这将允许您创建 TCP 连接:

运行 psql --host=localhost --dbname=tdevhub在主机上验证这一点。

还有一个选项,在某些情况下至少可以分配外部 IP 以允许入口流量。 See the OpenShift docs .与端口转发相比,这将更加复杂,但却是一个永久性的解决方案。看起来你正在运行 oc cluster upminishift然而,不确定这有多可行。

关于postgresql - Openshift:远程公开 postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148530/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com