我尽量准确描述问题,下面展示下流程,从上往下看
- 客户端 Navicat 连接 Mysql, 地址为:mysql.namespace-1.k8s.xxx(xxx 为公司拼音缩写):3306 或是 mysql.namespace-1.k8s.xxx(xxx 为公司拼音缩写):3306
- 自建 DNS 解析域名 k8s.xxx 到 VIP
- 某台 VIP 上接收到请求
- traefik 或是 ingress-nginx 监听当前机器的 3306 端口
- 动态根据域名完成转发,如果是 HTTP 解析域名 -> K8S 服务名.命名空间.svc.cluster.local
问题就在于,第 5 步,没有什么东西支持从 tcp 请求里获取域名,也就没法完成代理到后端服务
哪位大佬有类此场景的解决方案吗?
主要是想按照阿里云的习惯来走~
- 客户端 Navicat 连接 Mysql, 地址为:mysql.namespace-1.k8s.xxx(xxx 为公司拼音缩写):3306 或是 mysql.namespace-1.k8s.xxx(xxx 为公司拼音缩写):3306
- 自建 DNS 解析域名 k8s.xxx 到 VIP
- 某台 VIP 上接收到请求
- traefik 或是 ingress-nginx 监听当前机器的 3306 端口
- 动态根据域名完成转发,如果是 HTTP 解析域名 -> K8S 服务名.命名空间.svc.cluster.local
问题就在于,第 5 步,没有什么东西支持从 tcp 请求里获取域名,也就没法完成代理到后端服务
哪位大佬有类此场景的解决方案吗?
主要是想按照阿里云的习惯来走~