i4t

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

  •  
  •   i4t · Jul 26, 2025 · 4405 views
    This topic created in 466 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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