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 小时前
CKA考试知识点分享(16)---cri-dockerd
kubernetes
涟漪海洋6 小时前
基于Netty的UDPServer端和Client端解决正向隔离网闸数据透传问题
网络
国际云,接待8 小时前
微软云注册被阻止怎么解决?
服务器·网络·microsoft·云原生·微软·云计算
laocooon5238578868 小时前
基于Python的TCP应用案例,包含**服务器端**和**客户端**的完整代码
网络·python·tcp/ip
IguoChan10 小时前
8. Redis Operator (1) —— 单机部署
kubernetes
Blossom.11810 小时前
基于区块链的去中心化身份验证系统:原理、实现与应用
运维·服务器·网络·人工智能·机器学习·去中心化·区块链
SZ17011023111 小时前
HTTP 请求报文 方法
网络·网络协议·http
Bruce_Liuxiaowei11 小时前
使用Nmap探测VNC服务信息—某单位KVM设备
网络·安全·web安全
比奥利奥还傲.11 小时前
QNAP威联通NAS配置SFTP与内网穿透技术实现远程文件访问
网络
dsd233312 小时前
K8S 专栏 —— Pod 篇
docker·容器·kubernetes