我已經設置並部署了一個Kubernetes有狀態集,其中包含三個CockroachDB pod,as per docs。我的最終目標是查詢數據庫而不需要使用kubectl。我的中間目標是查詢數據庫而不實際將數據庫放入數據庫窗格中。如何從Kubernetes集羣外部連接到CockroachDB?
我轉交了一個吊艙一個端口到我的本地機器,並試圖連接:
$ kubectl port-forward cockroachdb-0 26257
Forwarding from 127.0.0.1:26257 -> 26257
Forwarding from [::1]:26257 -> 26257
# later, after attempting to connect:
Handling connection for 26257
E0607 16:32:20.047098 80112 portforward.go:329] an error occurred forwarding 26257 -> 26257: error forwarding port 26257 to pod cockroachdb-0_mc-red, uid : exit status 1: 2017/06/07 04:32:19 socat[40115] E connect(5, AF=2 127.0.0.1:26257, 16): Connection refused
$ cockroach node ls --insecure --host localhost --port 26257
Error: unable to connect or connection lost.
Please check the address and credentials such as certificates (if attempting to
communicate with a secure cluster).
rpc error: code = Internal desc = transport is closing
Failed running "node"
任何人都設法做到這一點?
謝謝!通過將'cockroachdb-public'服務的'ExternalIPs'指向具有靜態ip – Plato
的主節點,現在可以瞭解更多細節,併發布您的配置文件?你使用入口控制器嗎? – skunkwerk
配置文件是以前鏈接的文檔中使用的配置文件 - https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/cockroachdb-statefulset.yaml。您大概可以使用入口控制器,但在任何主要雲提供商上,您也可以將服務更改爲鍵入'NodePort'或鍵入'LoadBalancer',如我在答案中鏈接到的Kubernetes文檔中所述。 –