Dubbo3在k8s下网卡地址注册时引发的问题

问题

在k8s host网络模式下,dubbo3在注册zk时,偶现注册地址IP来回变化的情况,有可能获取的是宿主机IP,有可能获取的是Docker的虚拟IP,host网络模式正常情况下,应该是获取宿主机IP,而不应该获取docker虚拟IP。

可能的原因

登录宿主机,查看host信息,发现dubbo3在zk上注册的IP地址与docker bridge的虚IP一致:

bash 复制代码
cat /etc/hosts
ifconfig


推测 在k8s的host网络模式下,duboo3会默认获取网卡信息数组第一位的IP地址作为注册地址

仅为推测,并无实际依据

在dubbo的官方网站上找到一篇博文讲解dubbo获取网卡地址的内容
研究 Dubbo 网卡地址注册时的一点思考

解决方式

Java服务启动参数中,加入参数:

bash 复制代码
-Ddubbo.protocol.port=-1 
-Ddubbo.network.interface.ignored=^((?!eth).)+

强制要求dubbo注册时获取eth0的IP地址,即Linux 中的第一个以太网接口,也就是宿主机IP。

在 Linux 操作系统中,eth0 是一个网络接口的命名约定,代表第一个以太网接口。在早期版本的 Linux 中,以太网接口的命名约定是以 "eth" 开头,后面跟着数字来表示不同的接口。

现在,随着 Linux 内核和网络管理的发展,网络接口的命名规则已经发生了变化。根据不同的 Linux 发行版和网络配置工具,以太网接口的命名可能会采用其他的命名方式,比如 enp0s1、ens33 等。这些新的命名方式通常基于设备的物理位置或固定的标识符。

总之,eth0 是指 Linux 中的第一个以太网接口,在网络配置和管理中起到标识和区分不同接口的作用。

相关推荐
张忠琳8 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
阿里云云原生9 小时前
让 AI Agent 看见正在发生的业务,阿里云 EventHouse 正式商业化
云原生
Elastic 中国社区官方博客9 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
AOwhisky10 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
风曦Kisaki12 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201312 小时前
docker 安装 ,在centos7.9
运维·docker·容器
微三云 - 廖会灵 (私域系统开发)13 小时前
电商系统从单体到微服务拆分实践:拆什么、怎么拆、拆完后怎么办
微服务·云原生·架构
骑上单车去旅行14 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax15 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc16 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s