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
相关推荐
资源开发与学习1 天前
Kubernetes集群核心概念 Service
kubernetes
白帽黑客沐瑶1 天前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
树码小子1 天前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
Nazi61 天前
k8s的dashboard
云原生·容器·kubernetes
绿箭柠檬茶1 天前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
real 11 天前
传输层协议UDP
网络·网络协议·udp
路由侠内网穿透1 天前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
是小崔啊1 天前
叩丁狼K8s - 概念篇
云原生·容器·kubernetes
喵手1 天前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
徐子元竟然被占了!!2 天前
实验-基本ACL
网络