解决升级docker导致的k8s崩溃问题

最近由于安装harbor升级了docker,然后发现k8s集群就启动不了。

查看kubelet日志发现:直接连不上apiserver了,直接connection refused

然后尝试启动apiserver容器直接报错:Error response from daemon: unknown or invalid runtime name: docker-runc

原因: 这是因为升级docker带来的兼容性问题

解决办法:

运行:

grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

system restart docker

但是这样重启docker以后, kubelet日志还是会有报错:

failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"

很明显是docker升级以后带来cgroup驱动造成的问题

然后编辑/etc/docker/daemon.json文件,加入下面一行:

"exec-opts": ["native.cgroupdriver=systemd"]

并编辑/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf文件,加入下面一行

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"

备注:如果10-kubeadm.conf文件不是上面的路径,就用下面的命令查找一下,再重新编辑:

find / -name 10-kubeadm.conf

然后运行

systemctl daemon-reload

systemctl restart kubelet

问题解决:

相关推荐
quikai19815 分钟前
python练习第六组
java·前端·python
222you6 分钟前
线程的常用方法
java·开发语言
是梦终空22 分钟前
JAVA毕业设计259—基于Java+Springboot+vue3工单管理系统的设计与实现(源代码+数据库+开题报告)
java·spring boot·vue·毕业设计·课程设计·工单管理系统·源代码
用户21903265273525 分钟前
Spring Boot 集成 Redis 实现看门狗 Lua 脚本分布式锁
java·后端
林疏safe28 分钟前
灯塔部署云服务器docker 部署方式,以及忘记密码如何查找
运维·服务器·docker
zybsjn28 分钟前
ShardingSphere 启动报错 “Unknown table ‘keywords‘ in information_schema“ 完整解决方案
java
木卫二号Coding33 分钟前
affine+docker+postgresql+备份数据库
数据库·docker·容器
月明长歌34 分钟前
【码道初阶】【LeetCode 102】二叉树层序遍历:如何利用队列实现“一层一层切蛋糕”?
java·数据结构·算法·leetcode·职场和发展·队列
codingPower36 分钟前
制作ftl文件通过FreeMarke生成PDF文件(含图片处理)
java·开发语言·pdf
R.lin38 分钟前
Spring AI Alibaba 1.1 正式发布!
java·后端·spring