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


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

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

    报错信息:“MountVolume.SetUp failed for volume "bpffs" : hostPath type check failed: /sys/fs/bpf is not a directory”
    
    • 1
    解决办法:检查系统内核版本,升级系统内核到4.4以上
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    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

    
    # 新增环境变量(指定使用网卡interface=ensxxx)
    - name: IP_AUTODETECTION_METHOD
      value: interface=ensxxx
    
    • 1
    • 2
    • 3
    • 4

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

      - name: IP_AUTODETECTION_METHOD
        value: "interface=ensxxx"
    
    • 1
    • 2

    #修改完删除重新创建。

    kubectl delete -f calico.yaml
    kubectl create -f calico.yaml
    
    • 1
    • 2
  • 相关阅读:
    创建ffmpeg vs2019工程
    Python Flask 使用SQLAlchemy实现ORM管理
    小程序获取支付api
    Android WebView中打开外部超链接无反应
    做公众号1年啦
    ATF源码篇(八):docs文件夹-Components组件(7)固件配置框架
    Mamba来了,Python conda加速神奇,体验飞一般的感觉
    php伪协议 [ACTF2020 新生赛]Include1
    YOLOV5对接微信小程序
    一次元数据空间内存溢出的排查记录
  • 原文地址:https://blog.csdn.net/qq_43681990/article/details/137965283