kubernetes Calico 问题排障

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.*
发布了83 篇原创文章 · 获赞 27 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weweeeeeeee/article/details/100080732