You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅可通过堡垒Pod访问云数据库时如何使用本地数据库客户端连接

本地MySQL Workbench连接内网RDS操作方案

核心逻辑是通过kubectl建立本地到堡垒Pod的网络通道,再通过堡垒Pod转发流量到内网RDS,无需暴露RDS到公网。

前置校验

  • 本地kubectl已配置对应K8s集群的访问凭证,可正常执行kubectl exec进入堡垒Pod
  • 堡垒Pod所属网络可访问RDS的MySQL端口(默认3306,自定义端口自行替换),可先执行kubectl exec <堡垒Pod名称> -- telnet <RDS内网地址> 3306验证连通性
  • 本地已安装MySQL Workbench

建立端口转发通道

根据你的kubectl版本和堡垒Pod环境选以下任一方式即可:

方式1(全版本兼容)

要求堡垒Pod内已安装socat(无socat可进入Pod后通过apt install socat/yum install socat安装)

  1. 本地终端执行命令,在堡垒Pod内启动流量转发:
    kubectl exec <堡垒Pod名称> -- socat TCP-LISTEN:3306,fork TCP:<RDS内网地址>:3306 &
    
  2. 继续执行命令建立本地端口到堡垒Pod的映射:
    # 本地3306端口被占用的话,可替换为其他空闲端口,比如3307:3306
    kubectl port-forward <堡垒Pod名称> 3306:3306
    
    命令执行后保持终端前台运行,关闭终端则转发通道断开。

方式2(kubectl 1.30+版本支持)

高版本kubectl支持直接通过Pod转发流量到集群外地址,无需Pod安装额外工具,直接执行以下命令即可:

# 本地端口可自行替换为空闲端口
kubectl port-forward pod/<堡垒Pod名称> 3306:<RDS内网地址>:3306

配置MySQL Workbench连接

打开MySQL Workbench新建连接,填写以下参数:

  • 连接方式:选择Standard (TCP/IP)
  • Hostname:填写127.0.0.1
  • Port:填写上一步你设置的本地转发端口,默认3306,自定义的话对应修改
  • Username:填写RDS的MySQL授权账号
  • Password:填写对应账号的密码,可点击保存避免重复输入
  • Default Schema:可选,填写默认访问的数据库名
    填写完成后点击Test Connection验证连通性,验证通过即可保存连接正常使用。

常见问题排查

  • 连接失败首先检查转发命令所在终端是否正常运行,无报错输出
  • 确认RDS的安全组规则已放通堡垒Pod所属网段的3306端口访问权限
  • 确认K8s集群未配置网络策略限制堡垒Pod访问RDS地址

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:48:03