目前在围绕 code-server 进行开发,现在碰到了启用了内部服务,但是只能通过 curl 进行测试,或者说我希望从我这个 code-server 访问另一个 code-server 开的服务,此时也只能 curl 。想了一个方案,每开一个服务,就对外开放这个端口的 ingress ,但操作起来太麻烦了。我想直接通过一个内部服务,这个 pod 对外开放一个页面,然后我在这个页面里面输入一个内部 cluster 的 ip 或者内部域名,就可以访问 k8s 内部的所有服务.有类似的实现方案吗?

kt-connect?

kubectl proxy / kubectl port-foward

加路由,直接访问 pod IP

没看懂,如果是联调可以直接 vpn 和 k8s 网络打通访问 podip

可以在集群内弄一个 wireguard ,你的电脑和集群组网就行了

把开发机器做一个 node 加入集群,打上污点, 把开发环境打成 docker images , 做成工作量资源 ,打上容忍, 在集群里远程开发

vpn 的话感觉略重啊。而且每个用户都需要安装

需要面向所有普通用户,普通用户是没有 kubectl 权限的

开发机器是 win,而且集群是定制的私有云

www.okteto.com/docs/
不能像这个工具一样,开一个 Pod 来跑开发阶段的服务吗, 用 ssh 远程同步部署,执行命令

#10 不是发广告哈,我之前用时这个工具时还不是收费的

重点是把 ssh 端口打通
代码同步用 rsync -av -e ssh user@ip
直接 vs code ssh remote 都可以

tailscale

你可以用 tailscale 或者 wireguard 组网做 Flannel ,这样无论哪个设备只要加入网络中就能随意访问 k8s 集群内任意一个 pod ,service 了

kubevpn 可以直接让应用在本机像容器内一样。或者 nocalhost (好像不维护了)可以直接把应用部署到开发环境中。

弄个 pod ,运行一个 http 代理,然后要访问集群内部 ip 的地方,配置规则走这个 http 代理

补充:我就是有一个多台 vps 组的 k8s 集群,用的 tailscale 后端的 Flannel ,在家里或者手机上想临时进入集群的话就直接 tailscale 切一下账号就行。这种做法的最大好处就是我能在本地电脑直接用集群内部的 cidr (比如 10.x.x.x )的 ip 访问对应 pod,service ,完全不需要 forward 和 ingress

不是…哪那么麻烦…把 k8s 和公司网络打通不就完事了?这很难?

不需要,直接在公司路由器做就行

privoxy 单向打通 pod 和 svc 网络。

跑一个有 web ui 的远程桌面服务?

kubevpn, tailscale, wiregurad.