0

0

calico-node pod CrashLoopBackOff 显示 "BGP not established"

舞夢輝影

舞夢輝影

发布时间:2026-01-18 17:17:02

|

296人浏览过

|

来源于php中文网

原创

Calico-node 进入 CrashLoopBackOff 且日志显示 "BGP not established",说明 BGP 网络连接失败,需排查对等体状态、TCP 179 端口连通性、IP 自动发现配置及 BIRD 日志。

calico-node pod crashloopbackoff 显示 \

Calico-node 进入 CrashLoopBackOff 且日志显示 "BGP not established",说明 Calico 的 BGP 网络连接失败,节点无法加入集群网络拓扑。这不是单纯重启能解决的问题,需系统排查 BGP 配置与底层连通性。

检查 calico-node 是否能与其他节点建立 BGP 对等体

Calico 默认使用 Node-to-Node Mesh 模式,每个节点应与集群内其他所有节点建立 BGP 连接。执行以下命令确认对等体状态:

  • 进入任一正常运行的 calico-node 容器:kubectl exec -it -n kube-system calico-node-xxxxx -- sh
  • 运行:calicoctl node status(需容器内有 calicoctl)或更通用的:birdc show protocols
  • 观察输出中各 peer 的状态是否为 Established;若大量显示 ConnectActiveIdle,说明 BGP 握手卡在 TCP 连接或 OPEN 协商阶段

验证节点间 TCP 179 端口是否可达

BGP 依赖 TCP 179 端口通信。常见原因包括防火墙拦截、安全组限制、云厂商网络策略或主机 iptables 规则屏蔽。

LobeHub
LobeHub

LobeChat brings you the best user experience of ChatGPT, OLLaMA, Gemini, Claude

下载
  • 在问题节点上执行:nc -vz 179,测试能否连通任意一个正常节点
  • 如不通,检查:
    云服务器安全组是否放行 179 端口(入+出)
    • 主机 firewalld/iptables/nftables 是否 DROP 了 179 端口
    • 内核参数 net.ipv4.ip_forward=1 是否启用(部分环境必须)

确认 calico 配置中的 IP 地址是否正确

Calico 使用 IP_AUTODETECTION_METHOD 自动发现本机 IP。若选错网卡(比如选到 docker0、lo 或内网管理网卡),会导致 BGP 对端地址错误,连接失败。

  • 查看当前配置:kubectl get pod -n kube-system calico-node-xxxx -o yaml | grep -A5 "IP_AUTODETECTION_METHOD\|IP"
  • 推荐显式指定:在 calico-node DaemonSet 的 env 中设置
    - name: IP
    value: "autodetect"
    - name: IP_AUTODETECTION_METHOD
    value: "interface=eth0"
    (替换 eth0 为实际业务网卡名)
  • 也可用 CIDR 匹配:value: "can-reach=8.8.8.8""first-found",但不如 interface 明确

检查 BIRD 日志定位具体失败原因

calico-node 底层使用 BIRD 路由守护进程。直接看其日志比只看 Kubernetes 事件更精准:

  • 获取实时 BIRD 日志:kubectl logs -n kube-system calico-node-xxxxx | grep -i "bird\|bgp\|179"
  • 典型错误示例:
    "Can't bind socket to 0.0.0.0:179: Address already in use" → 其他进程占用了 179 端口
    "Network is unreachable" → 本地路由缺失,无法到达对端 IP
    "Peer x.x.x.x:179, state Idle, reason: No route to host" → 网络层不通或 ARP 失败

相关专题

更多
go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

轻量应用服务器和云服务器的区别
轻量应用服务器和云服务器的区别

随着科技的快速发展,越来越多的企业和个人开始依赖于服务器来托管其应用程序和网站。然而,在选择服务器时,很多人对轻量应用服务器和云服务器之间的差异不够了解。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

107

2023.07.27

注册云服务器的作用
注册云服务器的作用

注册云服务器的作用:1、可放置公司网站、电子商务平台、APP和其他应用程序等;2、使用云服务器来存储和共享数据,不仅高度安全,而且可以随时随地在线访问;3、当内存不够时,站长可自行增加,使资源充沛,保障了页面加载速度和优质的用户体验。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

229

2024.03.13

云服务器的全部用途
云服务器的全部用途

云服务器的用途广泛,包括网站托管、应用程序部署、数据存储和备份、虚拟化和容器化、大数据处理、游戏服务器以及开发测试环境等。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

450

2024.03.21

云服务器价格性价比高的服务商介绍
云服务器价格性价比高的服务商介绍

性价比较高的云服务器服务商,包括阿里云、腾讯云、亚马逊AWS和华为云。这些服务商提供丰富的产品线、亲民的价格、完善的生态体系和技术支持。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

327

2024.03.21

云服务器的使用教程
云服务器的使用教程

使用云服务器需要遵循以下步骤:选择可靠的云服务提供商,注册账号并购买所需实例,配置安全组和网络,连接到服务器,配置服务器环境,定期管理和监控服务器,优化性能和成本。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

316

2024.03.21

云服务器作用介绍
云服务器作用介绍

云服务器作为云计算的关键组成部分,广泛应用于弹性计算、数据存储处理、应用程序部署托管、灾备容灾、开发测试环境、虚拟化容器化等领域。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

380

2024.03.21

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.7万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 18.9万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号