当前位置: 首页 > news >正文

k8s 中遇到Calico CrashLoopBackOff 的解决方法

Calico CrashLoopBackOff 问题笔记


问题现象

在 worker 节点执行:

kubectl get pods -n kube-system -o wide

输出示例:

calico-node-5qttr   0/1   CrashLoopBackOff   10   27m   192.168.1.132   node1
calico-node-ggvtc   0/1   CrashLoopBackOff   10   27m  192.168.1.134   node3
calico-node-t2pht   0/1   CrashLoopBackOff   6    8m40s 192.168.1.133   node2

查看 Pod 日志:

[WARNING][9] startup/startup.go 723: Unable to auto-detect an IPv4 address using interface regexes [ens6f1]: no valid host interfaces found
[WARNING][9] startup/startup.go 476: Couldn't autodetect an IPv4 address. If auto-detecting, choose a different autodetection method. Otherwise provide an explicit address.
Calico node failed to start

分析:

  • Calico 节点无法自动检测到有效的 IPv4 地址
  • 默认使用接口 ens6f1,但该接口没有配置 IPv4
  • 导致 calico-node 容器无法启动网络组件(BGP/VXLAN)

解决方案

方法 1:指定 IP_AUTODETECTION_METHOD

在 Calico DaemonSet YAML 的 calico-node 容器 env 部分添加:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

## 1. 查看 Calico DaemonSet 配置
在Calico.yaml搜索 CLUSTER_TYPE 后面加入
```yaml- name: CLUSTER_TYPEvalue: "k8s,bgp"#加入下面这二行 注意对齐- name: IP_AUTODETECTION_METHODvalue: "interface=eth0"   # <-- 指定物理网卡# 其他 env...

如果不行可以用绑定 master 的 IP

- name: IP_AUTODETECTION_METHODvalue: "can-reach=192.168.1.131"  # master 节点 IP

说明:

  • can-reach=<IP> 表示选择能够访问指定 IP 的节点网卡作为节点 IP
  • 适合多网卡或 DHCP 环境下无法自动检测的节点

用 Vim 查找和修改 IP_AUTODETECTION_METHOD

  1. 打开 calico.yaml 文件:
vim calico.yaml
  1. 在 Vim 中查找 IP_AUTODETECTION_METHOD
:/IP_AUTODETECTION_METHOD
  • Enter,光标会跳到匹配行
  1. 修改 value,例如:
- name: IP_AUTODETECTION_METHODvalue: "can-reach=192.168.1.131"
  1. 保存并退出:
:wq

应用修改后的 YAML 并重启 Calico Pod

kubectl apply -f calico.yaml
kubectl get pods -n kube-system -o wide
  • kubelet 会根据修改后的 DaemonSet 自动重建 Pod
  • Pod 应该恢复为 Running 状态

在这里插入图片描述

总结

  • CrashLoopBackOff 原因: 节点 IPv4 自动检测失败

  • 解决策略:

    1. 使用 IP_AUTODETECTION_METHOD=can-reach=<master-IP> 自动选择正确网卡
    2. 清理旧 Pod,让 DaemonSet 自动重建
http://www.dtcms.com/a/596320.html

相关文章:

  • zookeeper单机版安装
  • 【Excel导入】读取WPS格式嵌入单元格内的图片
  • 福清建设银行网站网红营销的作用
  • 34节点配电网牛顿-拉夫逊潮流计算 + 分布式电源(DG)多场景分析的 MATLAB
  • 分布式专题——53 ElasticSearch高可用集群架构实战
  • 电子商务网站建设与设计网站常州建设
  • 学习编程好么 | 编程的好处与学习路径分析
  • 从中间件的历史来看移动App开发的未来
  • Faster-Whisper:更快更好的开源Asr模型
  • ubuntu部署whisper+speaker_large+qwen【gradio界面版】
  • 阿里云通过中国信通院首批安全可信中间件评估
  • 正点原子【第四期】Linux之驱动开发学习笔记-12.1 Linux 阻塞和非阻塞 IO 实验
  • 做网站fjfzwl门户wordpress主题下载
  • Elasticsearch的用法
  • LLMChain for Chat Models in LangChain
  • 【JAVA进阶】SpringBoot启动流程深度解析:从main方法到应用就绪的完整旅程
  • 昆明建设厅培训网站创意设计文案
  • 如何为虚拟机配置多渠道、可聚合、更智能的告警通知机制?
  • 分布式容器镜像自动同步系统 设计方案
  • 智联无界,术教相融:分布式医疗示教系统重构医疗教学新生态
  • 【深度学习新浪潮】三维数字孪生核心算法深度解析
  • Clustering vs Classification|聚类vs分类
  • Java-小林coding八股文(1)
  • Selenium详细教程
  • 门户网站开发介绍上海华谊集团建设有限公司网站
  • 8. Linux-riscv内存管理35-40问
  • Vue3响应式系统中,对象新增属性、数组改索引、原始值代理的问题如何解决?
  • HTTP接口和Dubbo接口区别
  • K8S中ETCD高可用机制详解
  • jmeter发送数据到sasl加密的kafka