OpenShift集群中的PostgreSQL服务能否通过暴露路由接收外部流量

Can PostgreSQL service in OpenShift cluster receive external traffic via exposed route

是否可以 运行 PostgreSQL 作为 OpenShift 集群内的一项服务并通过公开路由(推荐的从外部通信的默认方式)获取 external traffic 到它?

OpenShift 3.9 documentation 声明如下:

A router is configured to accept external requests and proxy them based on the configured routes. This is limited to HTTP/HTTPS(SNI)/TLS(SNI), which covers web applications.

PostgreSQL 可以使用 SSL,并且可以配置为侦听端口 443 (HTTPS),但我认为它 cannot 还支持 SNI。我只会 运行 服务后面的一个 pod,所以负载平衡应该不会造成问题。如果可行,我希望使用 psql -h ....

连接到集群和服务

我得出的(初步)结论是 OpenShift port forwarding (oc port-forward) 提供了在这种情况下前进的最佳方式(好吧...:)。

您可以创建一个 LoadBalancer 服务,该服务将创建一个专用于您的 pods 的负载均衡器,并且此负载均衡器接受基于 TCP 的流量:https://docs.openshift.com/container-platform/3.9/admin_guide/tcp_ingress_external_ports.html#unique-external-ips-ingress-traffic-configure-service

所以像

oc expose dc postgres --type=LoadBalancer --name=postgres-lb

会给你一个可公开访问的 PostgreSQL 数据库