k8s集群安装网络插件calico常见问题

关于calico网络插件报错的常见问题处理

1.安装calico插件时,calico相关pod无法成功运行。

c 复制代码
报错信息:"MountVolume.SetUp failed for volume "bpffs" : hostPath type check failed: /sys/fs/bpf is not a directory"
解决办法:检查系统内核版本,升级系统内核到4.4以上
c 复制代码
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 安装最新版本内核
yum --enablerepo=elrepo-kernel install -y kernel-lt
# 查看可用内核
cat /boot/grub2/grub.cfg |grep menuentry
# 设置开机从新内核启动
grub2-set-default "CentOS Linux (5.4.188-1.el7.elrepo.x86_64) 7 (Core)"  #此处根据你安装的实际内核版本进行替换设置
# 查看内核启动项
grub2-editenv list
# 重启系统使内核生效
reboot
# 查看内核版本是否生效
uname -r

2."Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/run/calico/bird.ctl: connect: connection refused"

解决办法:检查服务器是否是双网卡,修改calico配置文件指定正确的网卡名。(注意如下的ensxxx只是举例,具体看自己的机器网卡名)

方法一:

kubectl edit ds calico-node -n kube-system

c 复制代码
# 新增环境变量(指定使用网卡interface=ensxxx)
- name: IP_AUTODETECTION_METHOD
  value: interface=ensxxx

方法二:

如果calico插件是单个calico.yaml文件,则修改calico.yaml配置文件,如果是operator方式安装,则修改custom-resources.yaml文件

#修改calico.yaml方式

c 复制代码
  - name: IP_AUTODETECTION_METHOD
    value: "interface=ensxxx"

#修改完删除重新创建。

c 复制代码
kubectl delete -f calico.yaml
kubectl create -f calico.yaml
相关推荐
星哥说事5 分钟前
SDN 与 NFV:软件定义网络(SDN)与网络功能虚拟化(NFV)架构
网络·架构
shmexon6 分钟前
信息的空中之旅:从AM调制原理到工业级5G+Wi-Fi6的技术突破
网络·5g·信息与通信
扁豆的主人17 分钟前
RPC服务
网络·网络协议·rpc
一尘之中27 分钟前
从比特币的24小时交易到去中心化股市:一场金融交易的范式革命
网络·架构·ai写作
GIS数据转换器43 分钟前
2025无人机在农业生态中的应用实践
大数据·网络·人工智能·安全·无人机
suknna1 小时前
通过命令模拟pod创建
kubernetes
cozil2 小时前
记录磊科B39路由器跨域组网遇到的问题
网络·智能路由器·跨域组网
维诺菌2 小时前
k8s java应用pod内存占用过高问题排查
java·jvm·云原生·容器·性能优化·kubernetes
路由侠内网穿透2 小时前
本地部署开源数据分析平台 Elastic Stack 并实现外部访问( Windows 版本)
运维·服务器·网络·windows·开源·jenkins
回忆是昨天里的海2 小时前
k8s安装-kubeadm join,将工作节点加入k8s集群
java·服务器·kubernetes