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

非公有云环境下,如何实现 svc 的 external ip

  •  
  •   d0m2o08 · 2022-11-14 16:07:28 +08:00 · 1367 次点击
    这是一个创建于 500 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我本地有一套 k8s 环境,创建 svc 的时候指定了 externalIPs 的 vip 地址,这个 vip 地址和所有 Node 节点物理网卡上的地址在同一个二层网络下,那这个 vip 是如何和所有 Node 关联起来的呢?

    5 条回复    2022-11-15 09:38:44 +08:00
    ryan4yin
        1
    ryan4yin  
       2022-11-14 16:37:29 +08:00   ❤️ 1
    可以看看 [metallb]( https://github.com/metallb/metallb) / [porter]( https://github.com/kubesphere/porter) 这两个 bare-metal 的 LoadBalancer Service 实现,需要搭配支持 BGP 协议的路由器使用,而且路由器本身也需要做高可用,更底层还有链路层高可用要做。门槛比较高。

    家庭 Homelab 等玩具网络可以用 https://github.com/kube-vip/kube-vip ,它提供基于 ARP 协议的高可用。
    fqzz
        2
    fqzz  
       2022-11-14 21:25:12 +08:00   ❤️ 1
    最简单的做法是直接在配置路由表,把 service 和 pod 网段流量直接怼到 worker node 上
    d0m2o08
        3
    d0m2o08  
    OP
       2022-11-15 08:55:39 +08:00
    @ryan4yin @fqzz 感谢楼上两位大佬之路,我查了一下 kube-vip 的文档,先搞一下试试,多谢!
    mango88
        4
    mango88  
       2022-11-15 09:37:20 +08:00
    嗯 目前在用 metalb 感觉还行
    mango88
        5
    mango88  
       2022-11-15 09:38:44 +08:00
    @mango88 metallb
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   994 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:00 · PVG 04:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.