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
相关推荐
老六ip加速器1 分钟前
国内ip地址怎么改?详细教程
网络·tcp/ip·智能路由器
欧先生^_^33 分钟前
OSPF网络协议
网络·网络协议·智能路由器
光而不耀@lgy1 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
合新通信 | 让光不负所托2 小时前
【合新通信】浸没式液冷光模块与冷媒兼容性测试技术报告
大数据·网络·光纤通信
啥都想学的又啥都不会的研究生2 小时前
Kubernetes in action-初相识
java·docker·微服务·容器·kubernetes·etcd·kubelet
浩浩测试一下3 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
iangyu4 小时前
centos7部署k8s集群
云原生·容器·kubernetes
ZVAyIVqt0UFji5 小时前
360 OpenStack支持IP SAN存储实现
网络·网络协议·tcp/ip·openstack
三思而后行,慎承诺6 小时前
tcp 和http 网络知识
网络·tcp/ip·http
JavaEdge.6 小时前
LangChain4j HTTP 客户端定制:解锁 LLM API 交互的更多可能性
网络·网络协议·http