虚拟IP注册Nacos的问题
问题:
A服务器有两个网卡,网卡 lo
绑定了 127.0.0.1
和一个虚拟IP,网卡 eth0
绑定了本地公网IP和一个虚拟IP。同样B服务器的网卡也是相同的配置,A、B服务器拥有的虚拟IP都是同一个地址。
当将A、B服务器部署相同的服务并注册到nacos上,导致nacos上该服务只有一个实例,并且实例的地址是虚拟IP。这样将会导致我们无法准确获取某一个服务的健康状况。但因为使用的虚拟IP,所以同样可以通过虚拟IP的负载均衡访问到两台服务器。
实例如图:
解决办法:
客户端注册的时候忽略本服务器的 lo
网卡,绑定服务器的 eth0
网卡。
配置如图:
spring:
cloud:
nacos:
discovery:
server-addr: IP地址:IP
# 绑定网卡eth0
network-interface: eth0
username: 账号
password: 密码
inetutils:
# 剔除网卡lo
ignored-interfaces: [ 'lo' ]