首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用DBeaver连接本地kubernetes DBeaver?

如何用DBeaver连接本地kubernetes DBeaver?
EN

Stack Overflow用户
提问于 2019-08-09 10:05:08
回答 2查看 1.9K关注 0票数 1

我有一个Minikube Kubernetes集群,运行一个蟑螂数据库,看起来如下:

代码语言:javascript
复制
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连接到群集?

编辑:

代码语言:javascript
复制
$ 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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-09 11:06:11

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

票数 3
EN

Stack Overflow用户

发布于 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

代码语言:javascript
复制
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

看起来可能是这样的:

代码语言:javascript
复制
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指南。

如果你需要进一步的帮助,请告诉我。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57427797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档