V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chen0520
V2EX  ›  Kubernetes

有没有办法实现一个对外服务就可以访问 k8s 集群内的所有服务?

  •  
  •   chen0520 · 18 小时 10 分钟前 · 1423 次点击

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

    23 条回复    2025-09-19 21:44:42 +08:00
    guanzhangzhang
        1
    guanzhangzhang  
       18 小时 8 分钟前
    kt-connect?
    stormtrooperx5
        2
    stormtrooperx5  
       18 小时 5 分钟前
    kubectl proxy / kubectl port-foward
    R77
        3
    R77  
       18 小时 3 分钟前
    加路由,直接访问 pod IP
    fitme
        4
    fitme  
       17 小时 46 分钟前
    没看懂,如果是联调可以直接 vpn 和 k8s 网络打通访问 podip
    yandong1228
        5
    yandong1228  
       17 小时 45 分钟前
    可以在集群内弄一个 wireguard ,你的电脑和集群组网就行了
    hwdq0012
        6
    hwdq0012  
       17 小时 35 分钟前
    把开发机器做一个 node 加入集群,打上污点, 把开发环境打成 docker images , 做成工作量资源 ,打上容忍, 在集群里远程开发
    chen0520
        7
    chen0520  
    OP
       17 小时 18 分钟前
    @fitme vpn 的话感觉略重啊。而且每个用户都需要安装
    chen0520
        8
    chen0520  
    OP
       17 小时 17 分钟前
    @stormtrooperx5 需要面向所有普通用户,普通用户是没有 kubectl 权限的
    chen0520
        9
    chen0520  
    OP
       17 小时 16 分钟前
    @hwdq0012 开发机器是 win,而且集群是定制的私有云
    hwdq0012
        10
    hwdq0012  
       15 小时 51 分钟前
    https://www.okteto.com/docs/
    不能像这个工具一样,开一个 Pod 来跑开发阶段的服务吗, 用 ssh 远程同步部署,执行命令
    hwdq0012
        11
    hwdq0012  
       15 小时 48 分钟前
    @hwdq0012 #10 不是发广告哈,我之前用时这个工具时还不是收费的

    重点是把 ssh 端口打通
    代码同步用 rsync -av -e ssh user@ip
    直接 vs code ssh remote 都可以
    billzhuang
        12
    billzhuang  
       15 小时 40 分钟前
    tailscale
    BeautifulSoap
        13
    BeautifulSoap  
       15 小时 38 分钟前 via Android
    你可以用 tailscale 或者 wireguard 组网做 Flannel ,这样无论哪个设备只要加入网络中就能随意访问 k8s 集群内任意一个 pod ,service 了
    keniusahdu
        14
    keniusahdu  
       15 小时 36 分钟前   ❤️ 1
    kubevpn 可以直接让应用在本机像容器内一样。或者 nocalhost (好像不维护了)可以直接把应用部署到开发环境中。
    bli22ard
        15
    bli22ard  
       15 小时 28 分钟前
    弄个 pod ,运行一个 http 代理,然后要访问集群内部 ip 的地方,配置规则走这个 http 代理
    BeautifulSoap
        16
    BeautifulSoap  
       15 小时 20 分钟前
    @BeautifulSoap 补充:我就是有一个多台 vps 组的 k8s 集群,用的 tailscale 后端的 Flannel ,在家里或者手机上想临时进入集群的话就直接 tailscale 切一下账号就行。这种做法的最大好处就是我能在本地电脑直接用集群内部的 cidr (比如 10.x.x.x )的 ip 访问对应 pod,service ,完全不需要 forward 和 ingress
    sampeng
        17
    sampeng  
       14 小时 22 分钟前 via iPhone
    不是…哪那么麻烦…把 k8s 和公司网络打通不就完事了?这很难?
    fitme
        18
    fitme  
       13 小时 56 分钟前
    @chen0520 不需要,直接在公司路由器做就行
    eudore
        19
    eudore  
       13 小时 35 分钟前
    privoxy 单向打通 pod 和 svc 网络。
    momocraft
        20
    momocraft  
       13 小时 32 分钟前
    跑一个有 web ui 的远程桌面服务?
    suofeiya
        21
    suofeiya  
       11 小时 58 分钟前
    kubevpn, tailscale, wiregurad.
    Andrue
        22
    Andrue  
       10 小时 32 分钟前
    WireGuard 直接代理整个开放的子网应该就行了吧
    xingxing09
        23
    xingxing09  
       7 小时 40 分钟前
    搞个 proxy 服务就好了,其他的通过泛域名或者 path 做区分。当然这个仅限 HTTP 请求,如果是其他 TCP/UDP 另说
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:25 · PVG 05:25 · LAX 14:25 · JFK 17:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.