kubernetes+dubbo 架构集群内外网络通讯怎么解决 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
symb0l
V2EX    Kubernetes

kubernetes+dubbo 架构集群内外网络通讯怎么解决

  •  
  •   symb0l 2019-04-29 16:01:00 +08:00 9519 次点击
    这是一个创建于 2410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在容器化的过程中,我们遇到了一个非常棘手的问题。玩过 k8s 的知道,k8s 有自己的一套网络管理机制,集群内的容器和容器之间是可以相互通信的。但是在容器化升级改造的过程中,不可能一步到位的将所有的服务全部迁移到 k8s 的容器当中来,毕竟新的技术在没有经过实践趟坑时,肯定不能轻易的全面铺开升级。那么就涉及到集群外的服务访问集群内的服务,集群内容器中的 ip 都是 k8s 管理的 ip,dubbo 服务注册的也是获取的容器内分配的 ip。比如我们的宿主主机 ip 是 172.10.15.xx,容器内的 ip 就是 10.10.2.x。群外的和宿主主机同网段的服务通过拿到 dubbo 的注册的 10.10.2.x 也根本没法访问容器内的 dubbo 服务,请问如何解决这个问题?

    9 条回复    2021-11-15 17:42:42 +08:00
    symb0l
        1
    symb0l  
    OP
       2019-04-29 18:06:49 +08:00
    v2ex 的老哥们,救命哇。。
    monsterxx03
        2
    monsterxx03  
       2019-04-29 18:10:29 +08:00
    给 k8s 内的 dubbo 服务设置一个 NodePort 类型的 service 不就完了吗: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport
    symb0l
        3
    symb0l  
    OP
       2019-04-29 18:17:40 +08:00
    @monsterxx03 谢谢回答,有考虑过,但后期 K8S 节点扩容后,集群外服务往集群内的一些网络权限变更就得重新搞,一个服务就得开一个策略,假设有一百个服务,扩容一台节点,就得加一百条策略,网络工程师应该会砍死我,。
    monsterxx03
        4
    monsterxx03  
       2019-04-29 18:31:42 +08:00
    自建的话我也想不到什么好办法, 你们估计用的 flannel 之类的 overlay 网络. 在 aws 上的话可以通过 vpc cni plugin 直接给 pod 分配 vpc 里的 ip, 这样 k8s 内外的服务可以直接通过 ip 通信.

    我对 dubbo 不熟悉, overlay 网络, 你要内外通信, 必然需要一个 service 做 NodePort, 不知道 dubbo 有没有单端口的代理方案.
    YzSama
        5
    YzSama  
       2019-05-10 18:11:57 +08:00
    我猜楼主是想让研发的网络与集群内部网络通信。

    如果是这样的话,只需要进行打通就可以了。
    Ksmriacle
        6
    Ksmriacle  
       2020-06-08 15:40:07 +08:00
    兄弟解决了么
    symb0l
        7
    symb0l  
    OP
       2020-07-22 17:21:01 +08:00
    @Ksmriacle 不好意思,平时比较少登陆 v2ex

    目前是这样解决的,在容器部署模板里的 env 部分定义一个变量,并声明 valueFrom.fieldRef.fieldPath 的值为 status.hostIP,这样容器启动后就可以通过环境变量获取到宿主机的 IP 地址,将注册地址改为主机地址,外部 zookeeper 对主机地址可见即可。
    mrsupns
        8
    mrsupns  
       2020-09-17 10:04:24 +08:00
    能发一个 demo 吗
    monkeyWie
        9
    monkeyWie  
       2021-11-15 17:42:42 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5494 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:19 PVG 11:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86