V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
jeffreystoke
V2EX  ›  奇思妙想

云原生公私混合企业网

  •  
  •   jeffreystoke · 2020-10-05 18:36:19 +08:00 · 3659 次点击
    这是一个创建于 1507 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有个不成熟的企业网想法, 具体是实现如下功能:

    1. Kubernetes service 直访
    2. Kubernetes pod 隔离
    3. 总部, 分部均有私有云, 所有云之间能互访
    4. 公有云, 私有云互访
    5. 网络访问管理

    我目前想法比较混乱, 暂时的想法是:

    1. 公有云部署一套 BGP 路由服务, 自定义路由策略和访问控制
    2. 私有云部署 calico 与公有云的 BGP peering, 传播 pod/service network 路由
    3. 公有云 BGP 过滤掉 pod network => 不同私有云的 pod network 可以重合
    4. calico 协调 ClusterIP => 所有云共用一个 service network
    5. 如果没有专线, 总部分部之间使用 wireguard 实现互联 (类似 tailscale 建立 mesh)

    不知道有没有人这么做过, 或者有没有这种方案提供商.

    非专业网工, 感觉还有很多问题在里面, 请大家多多指教!

    第 1 条附言  ·  2020-10-05 23:56:06 +08:00
    这个想法的初衷是要避免用 mpls-vpn 那一套,如果分部只是要用总部的服务,那成本就太高了,完全可以把钱花在总部的出口带宽上优化体验。

    感觉这和 sd-wan 应用其实没啥区别,不过是融入了私有网,可能叫 sd-private-wan 更合适?如果我理解得每次那么和现有 network service mesh 也有点类似,但是我感觉 nsm 复杂度很高,应用场景比较偏向数据中心。
    第 2 条附言  ·  2020-10-07 16:38:52 +08:00
    建了一个 tg 群,欢迎有兴趣的加群交流

    https://t.me/joinchat/NujpBBvKww_4aSVzKGsO6Q
    29 条回复    2020-10-09 15:13:09 +08:00
    Sunmxt
        1
    Sunmxt  
       2020-10-05 20:58:55 +08:00 via Android
    有类似的想法。正在尝试做类似的开源项目。 不过目前在 Just for fun 的阶段:)
    jeffreystoke
        2
    jeffreystoke  
    OP
       2020-10-05 23:00:28 +08:00 via Android
    @Sunmxt 抱歉,因为好奇顺着你的用户名找了一下,如有冒犯还请见谅。不过你说的 poc 是指 https://github.com/CrossMesh/fabric 这个吗,刚刚大概看了一下好像和 tailscale 有点像,不知道我理解得对不对?
    hrxlove
        3
    hrxlove  
       2020-10-05 23:21:24 +08:00 via Android
    大体上可以走专线(电信有云专网,移动联通应该也有相应产品,可以接到几大公有云和地市),路由静态 or bgp,具体的访问控制可以在各接入点的防火墙控制
    jeffreystoke
        4
    jeffreystoke  
    OP
       2020-10-05 23:40:41 +08:00 via Android
    @hrxlove 用专线做基础架构肯定是可以,关于互联这块我想的主要是能不依赖专线就不依赖,甚至用家宽降低接入成本。

    至于我的重点是在使用这种互联模式下暴露
    Kubernetes service network 给所有集团网络,不知道有没有这样应用 BGP 的先例?
    Sunmxt
        5
    Sunmxt  
       2020-10-06 00:08:31 +08:00
    @jeffreystoke 想做的是一个 overlay network tool 。在公有云、私有云互联的基础上,能方便创建和管理多个虚拟的二层网络(类似 flannel 已经砍掉的的 multiple network ?),并且能够将容器、虚拟机加入到某个虚拟的网络上。所以互联只是第一步?看了一下 tailscale,目前项目的样子确实比较像 tailscale (可能是因为还是 poc,在 early development 的阶段吧)。想得很多,但我觉得无论是 concept,还是最终设计,都还有不少工作要做。
    jeffreystoke
        6
    jeffreystoke  
    OP
       2020-10-06 00:29:33 +08:00 via Android
    @Sunmxt 是的,但是如果只是需要多网络,我觉得可以考虑基于 multus 做个 controller,加入多集群的控制支持。
    Sunmxt
        7
    Sunmxt  
       2020-10-06 01:07:41 +08:00   ❤️ 1
    @jeffreystoke 嗯。楼主看起来对 k8s 比较了解。对于容器多网络的确比较想基于 multus 。但对于 underlay,项目本身也考虑整合非专线下的互联,其实就是控制面利用 gossip 协议传播 peer 间的网络信息,数据面利用内核支持的一些网络特性( ipsec,wireguard,gre 等等)来实现,这样使用会比较方便,这是目前我在做的。这样一说其实目前有一种实现了一个 功能不太多的 p2p vpn 的感觉。我感觉这个跟楼主的想法有点类似,就来回复啦:)。
    Sunmxt
        8
    Sunmxt  
       2020-10-06 01:13:51 +08:00
    @jeffreystoke 仔细看了下楼主的想法。我们最终想实现的可能有点不一样?
    jeffreystoke
        9
    jeffreystoke  
    OP
       2020-10-06 01:47:09 +08:00
    @Sunmxt 你说的没错, 不过我现在还不太能理清我的想法, 目前看来我应该是要一个类似 network service mesh 的解决方案. 当然之前我只是提供我觉得可能有用的建议, 如有冒犯还请见谅.
    Sunmxt
        10
    Sunmxt  
       2020-10-06 02:05:05 +08:00
    @jeffreystoke 我不是专业的。楼主的建议也对我有启发,并没有冒犯的说法:)。
    jeffreystoke
        11
    jeffreystoke  
    OP
       2020-10-06 02:28:00 +08:00
    @Sunmxt 我也是半吊子而已, 感觉要做的东西还是有点相似的, 有机会可以交流一下 XD
    labulaka521
        12
    labulaka521  
       2020-10-06 10:27:11 +08:00 via iPhone
    我目前也在做这方面的事,我想做的是一个类似 zerotier 的软件,主要想改善的一点就是协议的问题,目前也是早期阶段,可以一起交流哈
    @Sunmxt
    @jeffreystoke
    tkl
        13
    tkl  
       2020-10-06 12:47:43 +08:00
    你这和 k8s 有关系么 自己搞一个网络的控制面呗
    ericbize
        14
    ericbize  
       2020-10-06 13:29:57 +08:00 via iPhone
    不跨境的话, 找线路商拉光纤 或者是 买带宽,不买 bgp 的话, 线路很便宜
    jeffreystoke
        15
    jeffreystoke  
    OP
       2020-10-06 14:35:40 +08:00 via Android
    @tkl 就是要 Kubernetes 控制网络啊,充分利用 calico 的 BGP 和 network policy,为什么还要自己搞一个控制面,你是说的数据面?
    jeffreystoke
        16
    jeffreystoke  
    OP
       2020-10-06 14:46:47 +08:00 via Android
    @ericbize 拉光纤买带宽不应该比 mpls-vpn 还贵吗?云原生不应该追求最低成本啊😂
    jeffreystoke
        17
    jeffreystoke  
    OP
       2020-10-06 14:50:09 +08:00 via Android
    @labulaka521 好啊,想法多一点不是坏事,不过我这只是个不成熟的想法,还没有实际去做的打算😂
    ericbize
        18
    ericbize  
       2020-10-06 14:53:44 +08:00 via iPhone
    @jeffreystoke 单线移动 不超 10 元 /m, 两边 1G 也就 2w 一个月,1G 的公网 vpn 也可以了吧
    jeffreystoke
        19
    jeffreystoke  
    OP
       2020-10-06 15:06:32 +08:00 via Android
    @ericbize 这是 dc 的价格吧,但是如果说一个月只跑 1G,那 1M 的 mpls-vpn 不仅稳定,价格还更低。。而且代码,素材,数据库备份同步可能几天就有 1G 流量吧,不用说还有 voip,视频会议之类的。
    Sunmxt
        20
    Sunmxt  
       2020-10-06 16:27:39 +08:00
    @labulaka521 可以来交流呀。
    labulaka521
        21
    labulaka521  
       2020-10-06 18:04:02 +08:00 via iPhone
    @Sunmxt
    @jeffreystoke 好哇 留个联系方式
    jeffreystoke
        22
    jeffreystoke  
    OP
       2020-10-06 18:32:10 +08:00 via Android
    @labulaka521 gh 同名可以找到我的邮箱,或者建个 tg 群?
    labulaka521
        23
    labulaka521  
       2020-10-06 19:43:25 +08:00 via iPhone
    @jeffreystoke 你来建个 tg 群吧
    bing0
        24
    bing0  
       2020-10-06 22:14:34 +08:00
    挖草,上来就 BGP,不贵嘛?
    单线专线点对点吧,怕抖就不同运营商备份。
    相信我,我企业大内网就是这么干 openvpn 啧啧啧。
    哦。。现在还有个什么腾讯云的物理互联 IDC 到 POP 点,不过没了解过,算起来感觉好像能省钱
    Sunmxt
        25
    Sunmxt  
       2020-10-06 22:59:37 +08:00
    @labulaka521 gh 同名有邮箱。或者来个电报群吧。
    jeffreystoke
        26
    jeffreystoke  
    OP
       2020-10-07 16:38:26 +08:00 via Android
    建了一个 tg 群,欢迎有兴趣的加群交流

    https://t.me/joinchat/NujpBBvKww_4aSVzKGsO6Q
    jeffreystoke
        27
    jeffreystoke  
    OP
       2020-10-07 16:42:41 +08:00 via Android
    @bing0 这种只需要 ibgp 加私有 asn 吧,而且可以用开源的 frr 或者 bird,云端部署两三个 route reflector 用 vpn 连接我觉得成本并不高,成本最大的应该是带宽传输,也是这个想法里要解决的数据平面的问题
    menyakun
        28
    menyakun  
       2020-10-09 15:09:24 +08:00
    感觉事实上是一个容器网络层面的 VPC 解决方案?
    如果企业网已经提供了 VPC 能力,然后把 k8s 的网络能力借助 VPC 来实现,这样是不是就方便多了,不用从头开始造轮子。
    jeffreystoke
        29
    jeffreystoke  
    OP
       2020-10-09 15:13:09 +08:00 via Android
    @menyakun 我的想法正好是反过来,用 kubernetes 和 BGP 控制物理网络实现 VPC,加上一定的人工隔离
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3127 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:21 · PVG 22:21 · LAX 06:21 · JFK 09:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.