我有一个Minikube Kubernetes集群,运行一个蟑螂数据库,看起来如下:
kubectl get pods
test-cockroachdb-0 1/1 Running 17 95m
test-cockroachdb-1 1/1 Running 190 2d
test-cockroachdb-2 1/1 Running 160 2d
test-cockroachdb-init-m8rzp 0/1 Completed 0 2d
cockroachdb-client-secure 1/1 Running 0 2d我想要一个可以在我的应用程序中使用的连接字符串。
为了验证我的连接字符串,我使用工具DBeaver。
我的数据库名被配置为“defaultdb”,它存在于我的集群中,用户拥有相关的密码。端口也是准确的(默认蟑螂小口)。
然而,关于连接的证书方面,我感到很困惑。如何生成/收集成功连接到群集所需的证书?如何使用DBeaver连接到群集?
编辑:
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/myname-cockroachdb-0 1/1 Running 27 156m
pod/myname-cockroachdb-1 1/1 Running 197 2d1h
pod/myname-cockroachdb-2 1/1 Running 167 2d1h
pod/myname-cockroachdb-init-m8rzp 0/1 Completed 0 2d1h
pod/myname-client-secure 1/1 Running 0 2d1h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/myname-cockroachdb ClusterIP None <none> 26257/TCP,8080/TCP 2d1h
service/myname-cockroachdb-public ClusterIP 10.xxx.xxx.xx <none> 26257/TCP,8080/TCP 2d1h
service/kubernetes ClusterIP 10.xx.0.1 <none> 443/TCP 2d1h
NAME READY AGE
statefulset.apps/myname-cockroachdb 3/3 2d1h
NAME COMPLETIONS DURATION AGE
job.batch/myname-cockroachdb-init 1/1 92s 2d1h发布于 2019-08-09 11:06:11
您可以使用kubectl port-forward service/myname-cockroachdb 26257,而在DBeaver中,只需使用localhost:26257作为连接字符串。
发布于 2019-08-09 11:35:51
就像@FL3SH已经说过的。
您可以使用kubectl port-forward <pod_name> <port>
这在Cockroach文档步骤4.访问Admin UI中得到了很好的解释,请以它为例并设置不同的端口。
至于证书:
在创建每个结束符时,它发出一个证书签名请求( CSR ),让节点的证书由Kubernetes CA签名。您必须手动检查和批准每个节点的证书,此时CockroachDB节点将在pod中启动。 为第一个pod获取挂起的CSR的名称:
kubectl get csr
NAME AGE REQUESTOR CONDITION
default.node.cockroachdb-0 1m system:serviceaccount:default:default Pending
node-csr-0Xmb4UTVAWMEnUeGbW4KX1oL4XV_LADpkwjrPtQjlZ4 4m kubelet Approved,Issued
node-csr-NiN8oDsLhxn0uwLTWa0RWpMUgJYnwcFxB984mwjjYsY 4m kubelet Approved,Issued
node-csr-aU78SxyU69pDK57aj6txnevr7X-8M3XgX9mTK0Hso6o 5m kubelet Approved,Issued如果没有看到挂起的CSR,请稍等,再试一次。
您可以检查CSR吊舱kubectl describe csr default.node.cockroachdb-0。
看起来可能是这样的:
Name: default.node.cockroachdb-0
Labels: <none>
Annotations: <none>
CreationTimestamp: Thu, 09 Nov 2017 13:39:37 -0500
Requesting User: system:serviceaccount:default:default
Status: Pending
Subject:
Common Name: node
Serial Number:
Organization: Cockroach
Subject Alternative Names:
DNS Names: localhost
cockroachdb-0.cockroachdb.default.svc.cluster.local
cockroachdb-public
IP Addresses: 127.0.0.1
10.48.1.6
Events: <none>如果是这样,则可以使用以下方法批准证书:
kubectl certificate approve default.node.cockroachdb-0
请务必遵循在单个Kubernetes集群中编排CockroachDB指南。
如果你需要进一步的帮助,请告诉我。
https://stackoverflow.com/questions/57427797
复制相似问题