簡體   English   中英

Openshift:遠程公開 postgresql

[英]Openshift: Expose postgresql remotely

我在我的 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

這是我的路線:

在此處輸入圖像描述

我正在嘗試從 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

編輯

那這個呢?

在此處輸入圖像描述

為什么會有這個重定向? 我可以嘗試在port-forwarding之前更改它嗎?

通過路由公開服務意味着您啟用外部HTTP流量。 對於像Postgresql這樣的服務,根據你的例子,這不會起作用。

另一種方法是將端口轉發到本地計算機並以此方式連接。 例如,運行oc get pods然后運行oc get pods oc port-forward <postgresql-pod-name> 5432 ,這將允許您創建TCP連接:

在主機上運行psql --host=localhost --dbname=tdevhub來驗證這一點。

在某些情況下,還有一個選項,至少可以分配外部IP以允許入口流量。 請參閱OpenShift文檔 這將是更復雜的實現,但與端口轉發相反的永久解決方案。 看起來你正在運行oc cluster upminishift但是不確定這是多么可行。

從理論上講,雖然端口轉發的答案是正確的,也是我讓它工作的唯一方法,但我會說在 Openshift 3.x 中,你可以為這個https://documentation.its.umich.edu/node/使用 tcp 路由2126

但是它在 Openshift 4.x 中似乎不起作用(至少對我而言)

此外,我個人不喜歡端口轉發,因為這假設您必須與可以連接到集群的用戶建立連接,並且具有命名空間的權限來執行它需要執行的操作。 我寧願建議入口解決方案

https://docs.openshift.com/container-platform/4.6.networking/configuring_ingress_cluster_traffic/configuring-externalip.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM