Spring Cloud Eureka多網卡配置總結

在linux主機部署Eureka高可用方案的時候,發現註冊到服務中心的服務IP是隨機的,由於主機的網卡是多個,隨機的IP並不是自己想要的,上網查了一些資料,總結如下:

1 忽略網卡:spring.cloud.inetutils.ignored-interfaces
#忽略eth0, 支持正則表達式
spring.cloud.inetutils.ignored-interfaces[0]=eth0 
2 指定IP:spring.cloud.inetutils.preferred-networks
#preferred-networks是指傾向於使用的IP地址,接收一個正則表達式數組,用於選擇Spring Cloud應用使用的本機的IP地址。
spring.cloud.inetutils.preferredNetworks[0]=^192\.168 
3 修改Host文件
當網查遍歷邏輯都沒有找到合適ip時會走JDK的InetAddress.getLocalHost()。該方法會返回當前主機的hostname, 然後會根據hostname解析出對應的ip。因此第二種方案就是配置本機的hostname和/etc/hosts文件,直接將本機的主機名映射到有效IP地址。
4 指定實例IP
#指定此實例的ip
eureka.instance.ip-address=
#註冊時使用ip而不是主機名
eureka.instance.prefer-ip-address=true
5 通過jar命令參數
java -jar xxx.jar --spring.cloud.inetutils.preferred-networks= #需要設置的IP地址
或者
java -jar xxx.jar --spring.cloud.inetutils.ignored-interfaces= #需要過濾掉的網卡
以上新手摺騰了一下午,大家有好方法一起交流一下

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章