繁体   English   中英

如何使用DBeaver连接到本地kubernetes CockroachDB?

[英]How do I connect to my local kubernetes CockroachDB with DBeaver?

我有一个运行cockroachdb的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”,并且用户具有相关密码。 该端口也准确(默认的cockroachdb minikube端口)。

但是,关于连接的证书方面,我很茫然。 如何生成/收集成功连接到群集所需的证书? 如何使用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

就像@ FL3SH已经说过了。

您可以使用kubectl port-forward <pod_name> <port>

Cockroach文档的第4步对此进行了很好的解释。 访问Admin UI ,请以它为例并设置不同的端口。

至于证书:

创建每个Pod时,它将发出证书签名请求或CSR,以使Kubernetes CA对节点的证书进行签名。 您必须手动检查并批准每个节点的证书,这时将在Pod中启动CockroachDB节点。

获取第一个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 pod 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集群》指南中的Orchestrate CockroachDB进行操作

让我知道您是否需要其他帮助。

您可以使用kubectl port-forward service/myname-cockroachdb 26257而在DBeaver中,只需使用localhost:26257作为连接字符串即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM