我正在尝试Rancher
在多个 Amazon 实例上部署一个微服务集群。
我遇到的一个问题是每个 docker 容器现在都有 2 个 IP 地址;1 个本地 IP 地址,由 docker 自己定义,另一个 IP 地址被路由到 Rancher 网桥。
45: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:b4:d3:52:be:25 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.4/16 scope global eth0
valid_lft forever preferred_lft forever
inet 10.42.232.123/16 scope global eth0
valid_lft forever preferred_lft forever
定义的 IP 地址Rancher
是10.42.*.*
范围内的一个,并且对于每个容器都是唯一的,这就是为什么我想让我的 Spring 云配置使用这个 IP 地址。
不,我发现您可以在配置中指定要使用的接口,但也可以指定子网吗?因为两个 IP 都在同一个接口 ( eth0
) 上,但服务应该使用 10.42。. (例如,在发现服务中注册自己)。
我希望有人可以进一步帮助我。
我的配置的相关部分:
eureka:
instance:
preferIpAddress: true
(Eureka 使用与 spring cloud 相同的配置)