• k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。


    先看一下报错的图片

    这是在初始化maser的时候报的错。
    在这里插入图片描述

    我的环境情况

    k8s:1.22.12
    docker: 18.06.3
    在这里插入图片描述
    操作系统以及内核版本
    在这里插入图片描述

    解决办法
    1. 首先检查你到底写没写错
    复制报错中的名字,比如我上面的就是 k8s-master 了,然后使用ping命令,ping一下,看看能解析出来不。
    
    • 1
    1. 确定你的主机名字无误后,那么就进行这一步吧,无奈之举了
    • 修改docker的配置文件
    # 去掉这个选项,如果你已经添加的话,没错要去掉
    # 去掉这个选项,如果你已经添加的话,没错要去掉
    # 去掉这个选项,如果你已经添加的话,没错要去掉
    "exec-opts": ["native.cgroupdriver=systemd"]
    
    • 1
    • 2
    • 3
    • 4
    • 修改kubelet的启动项 或者 直接使用老版本,比如v1.17.17
    # 文件名 /var/lib/kubelet/kubeadm-flags.env
    # 加上如下的配置
    --cgroup-driver=cgroupfs
    
    • 1
    • 2
    • 3
    • 然后重启 docker和kubelet
    担心之处

    其实k8s官方是不鼓励cgroupfs这个管理进程的方式cgroup-driver的作用,所以我觉的上面我解决问题的方式,有点儿瑕疵(或者说遗憾吧)。

    我觉的可以尝试一下下面的解决方式:

    • 升级一下内核,继续使用 native.cgroupdriver=systemd,然后k8s的版本用比较新的就可以
    • 另一种解决方式是, 使用一下比较新版本的docker

    如果有新发现,麻烦给我留个言,非常感谢了。

    在这里插入图片描述

  • 相关阅读:
    Springboot使用@Cacheable注解实现数据缓存
    泊松流(Poisson Flow)生成模型
    【Python】 Flask相关疑问
    记:lorawan协议
    centos安装TDengine
    用羊羊来告诉你:如何用python进行APP抓包
    硬件工程师秋招注意事项
    Bigemap如何添加谷歌历史影像
    计算机网络 0816
    Java---数据库---JDBC
  • 原文地址:https://blog.csdn.net/u014686399/article/details/127592963