当前位置: 首页 > article >正文

解决升级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

 问题解决:


http://www.kler.cn/a/131753.html

相关文章:

  • 华纳云:租用的服务器连接超时怎么办?
  • demo(三)eurekaribbonhystrix----服务降级熔断
  • WPF ResourceDictionary的作用
  • Banana Pi BPI-W3之RK3588安装Qt+opencv+采集摄像头画面.
  • openEuler安全配置规范基线
  • 安装应用与免安装应用差异对比
  • mysql 常见操作指令
  • vue+springboot实现登录或注册滑动验证码( AJ-Captcha)
  • 【LeetCode】挑战100天 Day11(热题+面试经典150题)
  • rpc依赖安装
  • 【go】报错整理与解决
  • 最新自动定位版本付费进群系统源码
  • Flink(五)【DataStream 转换算子(上)】
  • Java 之拼图小游戏
  • [工业自动化-23]:西门子S7-15xxx编程 - 软件编程 - 西门子PLC人机界面交互HMI功能概述、硬件环境准备、软件环境准备
  • 代码随想录算法训练营第三十八天【动态规划part01】 | 动态规划理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • PostgreSQL创建分区表,并插入大量数据
  • 微信小程序数据传递的方式-页面数据的存取
  • 剑指offer --- 用两个栈实现队列的先进先出特性
  • 23111707[含文档+PPT+源码等]计算机毕业设计基于javawebmysql的旅游网址前后台-全新项目