容器化dubbo多网卡问题

在Kubernetes(k8s)环境中,使用MacVlan网络模式会导致Pod内有两个网卡,Dubbo默认选取eth0作为通信接口,造成网络问题。通过分析Dubbo源码,可以发现`isPreferredNetworkInterface`函数允许设置首选网络接口。通过在启动时添加参数`dubbo.network.interface.preferred`,可以指定使用eth1来解决PodIP与集群外通信的问题。

因为公司 k8s 容器集群的网络模式的问题,在 MacVlan 下,Pod 内会有两个网卡出现,Pod IP 是 eth0,MavVlan IP 是 eth1,然而 Dubbo 框架在选择网卡的时候会默认拿到 eth0,这样就会有一些网络问题,例如把 Pod IP 注册了,但是流量无法和集群外的网络互通。

走读了一下 Dubbo 的代码,发现 isPreferredNetworkInterface 这个函数的配置是可以帮助 Dubbo 获取期望的网卡的,具体就是给 Dubbo 启动的时候加上一个参数 dubbo.network.interface.preferred,就可以指定注册的网卡了。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值