kubernetes failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
错误原因
kubernetes 的文件驱动与 docker 不一致,导致镜像无法启动。
docker info 可以看到驱动方式 Cgroup Driver: systemd。
解决方案
统一资源管理,一致使用 systemd 或者 cgroupfs。
在 Linux 上,控制组(CGroup)用于限制分配给进程的资源。
当某个 Linux 系统发行版使用 systemd 作为其初始化系统时,初始化进程会生成并使用一个 root 控制组(cgroup),并充当 cgroup 管理器。
systemd 与 cgroup 集成紧密,并将为每个 systemd 单元分配一个 cgroup。 因此,如果你 systemd 用作初始化系统,同时使用 cgroupfs 驱动,则系统中会存在两个不同的 cgroup 管理器。
同时存在两个 cgroup 管理器将造成系统中针对可用的资源和使用中的资源出现两个视图。某些情况下, 将 kubelet 和容器运行时配置为使用 cgroupfs、但为剩余的进程使用 systemd 的那些节点将在资源压力增大时变得不稳定。
当 systemd 是选定的初始化系统时,缓解这个不稳定问题的方法是针对 kubelet 和容器运行时将 systemd 用作 cgroup 驱动。
docker修改方法
在 /etc/docker/daemon.json 文件中,新增 "exec-opts": ["native.cgroupdriver=systemd"]
重启 docker
systemctl daemon-reload
systemctl restart docker
kubelet修改方法
在 /etc/sysconfig/kubelet 文件中,修改 --cgroup-driver= 参数。
例如修改为 --cgroup-driver=systemd
重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
推荐阅读
https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/
https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/
https://www.cnblogs.com/sparkdev/p/9523194.html
kubernetes failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"的更多相关文章
- 【kubeadm初始化报错】failed to run Kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
		
复现场景 环境 系统:Centos7 kubernetes:1.18.5 docker:19.03.9 复现步骤 1.通过 yum 或 rpm 安装 kubelet kubectl kubeadm,并 ...
 - Docker中的Cgroup Driver:Cgroupfs 与 Systemd
		
在安装kubernetes的过程中,会出现 failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgrou ...
 - Openshift 错误解决 "修改docker cgroup driver"
		
一.Openshift 错误解决 "修改docker cgroup driver" 一.错误如下 failed to run Kubelet: failed to create k ...
 - 在k8s中安装flannel的故障解决: Failed to create SubnetManager: error retrieving pod spec for  : the server does not allow access to the requested resource
		
花了一个上午来追踪问题,k8s都反复新建了十多次,docker都重启了几次.(一次显示不有获取磁盘空间,重启docker,清空存储解决) 在用kubeadm安装容器化的几个组件时,flannel组件死 ...
 - Rancher 系列文章-K3s Traefik MiddleWare 报错-Failed to create middleware keys
		
概述 书接上回:<Rancher 系列文章-K3S 集群升级>, 我们提到:通过一键脚本升级 K3S 集群有报错. 接下来开始进行 Traefik 报错的分析和修复, 问题是: 所有 Tr ...
 - Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
		
一服务器上的数据库全部被置于紧急模式(EMERGENCY),在错误日志里面能看到大量下面的错误 Failed to create AppDomain "YourSQLDba.dbo[runt ...
 - build.fxbuild打不开 Failed to create the part's controls
		
Failed to create the part's controls 以文本形式打开之后,发现编码的地方不是常用编码 将之修改为GBK 然后就可以正常打开了 最后把eclipse中的编码统一设置为 ...
 - pip/easy_install failure: failed to create process
		
使用pip install requests安装requests, 报错: failed to create process 解决方法: 执行Python -m pip install --upgra ...
 - 运行easy_install安装python相关程序时提示failed to create process
		
运行easy_install安装python相关程序时提示failed to create process,因为安装了两个python,卸载了的那个目录没删除,删除了另外的python目录后这个问题就 ...
 - Failed to create the Java Virtual Machine.问题的解决
		
运行Eclipse,出现了"Failed to create the Java Virtual Machine."错误: 解决的办法是在Eclipse的解压目录下找到eclipse ...
 
随机推荐
- Qt数据库应用12-通用数据库清理
			
一.前言 很多项目如果需要存储很多日志记录比如运行日志,时间长了记录数量非常多,数据库体积不断增大,对应数据库表的增删改查的效率不断降低,为了消除这几个影响,需要有一套机制,不断将早期的数据清理,清理 ...
 - Qt编写安防视频监控系统46-视频存储
			
一.前言 在整个视频监控系统的开发迭代升级过程中,遇到过各种奇奇怪怪的需求,都是客户提出来的,有些需求很合理,有些就不那么的自然了,牢记这客户是上帝的原则,能满足的尽量满足.相信各位同行的研发人员都会 ...
 - 在Win7操作系统上安装VS2017报错:安装程序清单签名验证失败
			
方法1: 开始-运行-gpedit.msc-计算机配置-Windows 设置-安全设置-本地策略-安全选项-系统机密:将FIPS兼容算法用于加密.哈希和签名-设置禁用-退出安装程序,重新安装一次.亲测 ...
 - spark (五) RDD的创建 & 分区
			
目录 1. RDD的创建方式 1.1 从内存创建RDD 1.2 从外部存储(文件)创建RDD 1.3 从其他的RDD创建 1.4 直接 new RDD 2. 分区(partition) 2.1 mak ...
 - 如何监控Linux服务器资源使用情况
			
--- 好的方法很多,我们先掌握一种 --- [背景] 在做性能验证时(其他情况通用),需要监控服务器资源的使用情况,例如cpu,内存等信息 我们就可以简单通过shell脚本后台运行,持续监控需要 ...
 - WPF 透明背景窗体
			
<Window x:Class="WpfApplication8.MainWindow" xmlns="http://schemas.microsoft.com/w ...
 - JAVA常见问题合集
			
面向对象 面向过程和面向对象 面向对象的三大基本特征:封装.继承.多态 - 封装:隐藏内部细节 继承:复用现有代码 多态:改写对象行为 JAVA为什么是面向对象的,为什么还用int等基础类型 面向对象 ...
 - k8s~控制deamonset中pod的数量
			
DaemonSet 是 Kubernetes 中的一种控制器,用于确保集群中的每个节点(或特定标签选择器匹配的节点)运行一个 Pod 的副本.DaemonSet 通常用于运行集群守护进程,如日志收集. ...
 - 对象流的序列化与反序列化:ObjectInputStream 和 ObjectOutputStream
			
1.对象流: ObjectInputStream 和 ObjectOutputStream2.作用:ObjectOutputStream:内存中的对象--->存储中的文件.通过网络传输出去:序列 ...
 - Windows下使用Bat拷贝远程共享目录下文件
			
哈喽 我又来了 客户昨天提出了一个要求,这次的update里要用bat脚本去拷贝远程共享目录下的文件到各自的本地C盘目录下,于是乎,从昨天下午开始研究 到了今天中午,写写删删,乱改一气,总算弄出来 ...