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

有没有 k8s + ingress +frp 这种方案

  •  
  •   i4t · 6 天前 · 1605 次点击
  •   查看本主题需要登录

    场景: QQ 云有一台服务器,目前回家访问容器内的方案为 nginx -->frps -->frpc -->nodeport -->svc -->pod 目前存在缺点:

    每次都要手动修改 svc 暴露 每次都需要手动新增 frpc 配置文件 每次都需要手动添加公网 Nginx

    想法 FRPS–> FRPC → Ingress → svc → Pod

    我在想能否通过创建 Ingress 自动 watch 配置文件然后重写给 frpc 自动重启服务,外网访问绑定

    这种方案有大佬考虑实现吗?

    18 条回复    2025-07-28 09:26:05 +08:00
    nuII
        1
    nuII  
       6 天前
    frp 支持连续端口
    echo1937
        2
    echo1937  
       6 天前
    类似的需求其他人的方案是 tailscale ,在 k8s 集群中起一个服务就通了。
    zhengfan2016
        3
    zhengfan2016  
       6 天前
    ?不理解你想实现什么,单纯回家最易用的方案难道不是用 tailscale 异地组网吗
    i4t
        4
    i4t  
    OP
       6 天前
    @zhengfan2016 #3 公网访问的话,需要手动调整,我想实现的是公网的这种方式
    liuhai233
        5
    liuhai233  
       6 天前
    我家里小主机用的 k3s + Cloudflare tunnel 实现的公网服务
    liuhai233
        6
    liuhai233  
       6 天前
    其实只需要在 k8s 启一个 proxy pod 就可以,转发公网的请求到内网的 ingress
    icy37785
        7
    icy37785  
       6 天前 via iPhone
    @i4t #4 你要解决的问题就是应该用 tailscale 解决,你说的公网访问跟他说别的回家是一回事
    cdlnls
        8
    cdlnls  
       6 天前 via Android
    云服务器上启动一个 nginx 或者别的代理,把 80 443 的流量转给 ingress 的端口就可以了
    DefoliationM
        9
    DefoliationM  
       5 天前
    https://github.com/rancher/remotedialer 了解一下? rancher 出品。
    buffzty
        10
    buffzty  
       5 天前
    qq 云 起一个 wg, 本地 k8s node 起一个 wg 连接到 tx 云的 wg, 将 svc,pod,lan 网段加入到 wg 转发规则
    这样就实现了全互通.用不着 nginx frp nodeport 这些.
    还有你说每次都要手动修改 svc 暴露我没看懂, svc 创建后 ip 不会变的,就算用 frp 也不需要改它啊
    Leon6868
        11
    Leon6868  
       5 天前
    easytier 组网,无需暴露公网端口,应该能满足你的需求
    guanzhangzhang
        12
    guanzhangzhang  
       5 天前
    tailscale 可以容器/pod 起,然后设置转发+snat 即可
    Curtion
        13
    Curtion  
       5 天前
    @icy37785 你们说的可是家庭网络和云服务器都安装 tailscale ,然后组成一个网络,服务器使用 nginx 反向代理到家庭 tailscale 的 ip 这种模式? 如果是这样我已经试过了会有问题,那就是 tailscale 工作在四层,服务器主动访问家庭网络时会反向打洞,即使云服务器有公网 ip 也会是不是直连,网络质量还是取决于家庭网络 NAT 类型, 不过我发现 frp 出了虚拟组网的功能,这个也许可行
    njzy
        14
    njzy  
       4 天前 via iPhone
    我就是这么做的 完全可行
    1. frps 直接把公有云上的 80 443 端口流量转发到我家里的 homelab k3s 上的 traefik 上
    2. traefik 除了常规的 ipv4 的端口 我还开了 ipv6 的端口方便 ipv6 域名直连访问
    3. 常规 docker 服务部署在 k3s 中并通过 ingress 配置外网域名
    4. 局域网其他服务通过 traefik external service 转发
    5. 所有服务配置放在了 GitHub 私有仓库并通过 argocd 自动化部署 非常丝滑
    njzy
        15
    njzy  
       4 天前 via iPhone
    @njzy 最早用的 tailscale 组网 发现非常不稳定 k3s 偶尔失联
    ysicing
        16
    ysicing  
       4 天前
    @njzy 现在好多了
    ZxykM
        17
    ZxykM  
       4 天前
    我回家都是 easytier 到 ingress 到 svc ,只要组网成功就能访问
    yuanwangshijie
        18
    yuanwangshijie  
       4 天前
    可以的,我是 frpc 穿透本地 k8s 的 80 端口,然后公网 nginx 配置自动申请泛域名证书,然后泛域名代理到服务器的 frps 上,这样直接一劳永逸,你只需要在本地给 k8s 服务加路由就行,nginx 和 frp 都不用动,还是 https 访问
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5453 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 176ms · UTC 03:00 · PVG 11:00 · LAX 20:00 · JFK 23:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.