caliconode is not ready: BIRD is not ready: BGP not established with x.x.x.x
方案一
将 advisor
改成使用二进制文件启动,不使用容器启动,则不会产生虚拟网络设备
方案二
调整calicao 网络插件的网卡发现机制,修改 IP_AUTODETECTION_METHOD
对应的value值。官方提供的yaml文件中,ip识别策略(IPDETECTMETHOD)没有配置,即默认为first-found,这会导致一个网络异常的ip作为nodeIP被注册,从而影响 node-to-node mesh
。我们可以修改成 can-reach
或者 interface
的策略,尝试连接某一个Ready的node的IP,以此选择出正确的IP。
-
can-reach使用您的本地路由来确定将使用哪个IP地址到达提供的目标。可以使用IP地址和域名。
# Using IP addresses IP_AUTODETECTION_METHOD=can-reach=8.8.8.8 IP6_AUTODETECTION_METHOD=can-reach=2001:4860:4860::8888 # Using domain names IP_AUTODETECTION_METHOD=can-reach=www.google.com IP6_AUTODETECTION_METHOD=can-reach=www.google.com
-
interface使用提供的接口正则表达式(golang语法)枚举匹配的接口并返回第一个匹配接口上的第一个IP地址。列出接口和IP地址的顺序取决于系统。
# Valid IP address on interface eth0, eth1, eth2 etc. IP_AUTODETECTION_METHOD=interface=eth.* IP6_AUTODETECTION_METHOD=interface=eth.*