IDEA 本地调试 Spring Cloud 项目,如何调用 k8s 集群里的 svc ip

53 天前
 cxhello
  1. Telepresence
  2. KT-Connect

场景:本地 A 服务调用 k8s 集群上的 B 服务

我们测试环境是一个 k8s 集群,然后目前采用的 KT-Connect 的方案。想用 Telepresence 但是需要 namespaces 的权限,我们运维只给开到 deployment 这一层权限。看看 V 友们一般都用的什么方案?

2285 次点击
所在节点    Kubernetes
24 条回复
teaser
53 天前
kubectl port-forward 可以是转出来吧
runzhliu
53 天前
测试集群物理机 IP 能访问的话,就把 svc 网段加到本地开发机的路由规则了,用测试集群的节点 IP 做网关
LowBi
53 天前
尝试使用 telepresence ,但是没整起来,各种问题。🤦‍♂️
mango88
53 天前
用的 telepresence
Cruzz
53 天前
映射出来呗。
cxhello
53 天前
@LowBi 我们用 KT-Connect 倒是没啥问题,就是想看看有没有更好的方案。
cxhello
53 天前
@runzhliu 我们用的 nacos 然后 nacos 上的对应服务的 ip 都是 a.test.svc.cluster.local 类似于这样。
Martens
53 天前
还有一个工具 mirrord ,可以试一下
aispring
53 天前
1. 直接物理层用路由把网络打通
2. 本机改 host ,但需要其他服务暴露可物理访问的端口地址或本机启动
LowBi
53 天前
@cxhello 我也在找合适的调试方案,太痛苦了目前,本地调试的话还要启一些用不到但又关联的服务,内存爆炸不说,开发和调试过程就变得繁琐。再试试 KT-Connect ,看好不好使
jianghuan2
53 天前
我们测试环境是我搭建的,直接 hostNetwork: true 。
管它丫的,测试环境单副本就行。
ccw4wcc
53 天前
kt connect 好用
xuanbg
53 天前
本地启动加入集群啊,然后就是正常调用了。要想 100%路由到你的本地服务,基本上就是两个办法,一个是在路由上做文章,让网关直接转发给你,要么就是把别的服务都停掉,那就只能转发给你了。
midsolo
53 天前
@jianghuan2 高端的食材往往只需要最朴素的烹饪方式
buruoyanyang
53 天前
kubevpn
sujin190
53 天前
我们用的是 proxifier ,proxifier 配规则拦截掉全部对 pod 的 ip 访问,然后在 k8s 里用 deployment 部署一个简单的 socks5 代理来负责转发,安装配置简单,开发过程也是无感的
BraveRBT
53 天前
加入一个小型 node 用于网络转发,关闭调度,开启内核 ip_forward 参数
在交换机路由表配置 SVC 网段的请求转发到该节点作为网关即可

外部看起来类似于直通,无需其他任何配置和程序转发
bli22ard
53 天前
nginx ingress ,通过二级域名映射出来,权限通过网络转换规则限制 。好处,调用者不需要安装任何软件
eudore
53 天前
部署一个 privoxy 可以单向暴露 pod 和 svc network ,然后本地配置 HTTP_PROXY 指向 privoxy 端口就好了。
looveh
53 天前
把 kubeconfig 弄到本地不行么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1149182

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX