Sin*_*hti 3 navicat sequelpro docker digital-ocean kubernetes
由于各种原因和查询,许多 devops 使用 mysql connect over ssh 来访问生产数据库
成功将 mysql 容器部署到数字海洋 kubernetes 集群后,我可以通过以下方式 ssh 进入 pod:
kubectl --kubeconfig="kubeconfig.yaml" exec -it vega-mysql-5df9b745f9-c6859 -c vega-mysql -- /bin/bash
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将应用程序(例如:navicat-sequel pro 或 mysql workbench)远程连接到此 pod?
Nitpick:尽管您可以使用它来启动交互式 shell,kubectl exec但它与 SSH 不同。出于这个原因,支持 SSH 隧道连接的常规 MySQL 客户端不(并且可能永远不会)支持连接到通过kubectl exec.
替代解决方案:用于kubectl port-forward将 Pod 的 MySQL 服务器端口 3306 转发到您的本地机器:
kubectl port-forward vega-mysql-5df9b745f9-c6859 3306:3306
Run Code Online (Sandbox Code Playgroud)
这将指示 kubectl 作为 TCP 代理从您机器上的本地端口进入 Pod。然后,连接到127.0.0.1:3306您选择的任何 MySQL 客户端:
mysql -u youruser -p -h 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3736 次 |
| 最近记录: |