首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql通过ssh远程连接到kubernetes pod

问Mysql通过ssh远程连接到kubernetes pod
EN

Stack Overflow用户
提问于 2018-12-23 03:16:41
回答 2查看 4K关注 0票数 3

由于各种原因和查询,许多devops使用通过ssh的mysql连接来访问生产数据库。

成功将mysql容器部署到数字海洋kubernetes集群后,我可以通过以下方式ssh进入pod:

代码语言:javascript
复制
kubectl --kubeconfig="kubeconfig.yaml" exec -it vega-mysql-5df9b745f9-c6859 -c vega-mysql -- /bin/bash

我的问题是,如何远程连接应用程序: navicat - sequel pro或mysql workbench到这个pod?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-23 07:25:55

吹毛求疵:即使您可以使用它来启动交互式shell,kubectl exec也不同于SSH。因此,支持SSH隧道连接的常规MySQL客户端不(可能永远不会)支持通过kubectl exec隧道连接到MySQL服务器。

替代方案:使用kubectl port-forward将实例的MySQL服务器端口3306转发到您的本地机器:

代码语言:javascript
复制
kubectl port-forward vega-mysql-5df9b745f9-c6859 3306:3306

这将指示kubectl充当从您机器上的本地端口到Pod的TCP代理。然后,使用您选择的任何MySQL客户端连接到127.0.0.1:3306:

代码语言:javascript
复制
mysql -u youruser -p -h 127.0.0.1 
票数 7
EN

Stack Overflow用户

发布于 2018-12-24 14:21:34

我通过将mysql暴露给具有随机端口的服务来实现这一点

代码语言:javascript
复制
kubectl --kubeconfig=vega-kubeconfig.yaml expose deployment mysqldeployment --type=NodePort --name=nginx --port=3306 --target-port=3306

并通过我的客户端连接到它,而不使用ssh隧道。

但是@helmbert解决方案也不错

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

https://stackoverflow.com/questions/53898627

复制
相关文章

相似问题

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