最大的房产网站,网站互动优化,灰色网站建设,东莞网站外包最近由于安装harbor升级了docker#xff0c;然后发现k8s集群就启动不了。
查看kubelet日志发现#xff1a;直接连不上apiserver了#xff0c;直接connection refused 然后尝试启动apiserver容器直接报错#xff1a;Error response from daemon: unknown or invalid runtim…最近由于安装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.cgroupdriversystemd] 并编辑/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf文件加入下面一行 EnvironmentKUBELET_CGROUP_ARGS--cgroup-driversystemd 备注如果10-kubeadm.conf文件不是上面的路径就用下面的命令查找一下再重新编辑 find / -name 10-kubeadm.conf 然后运行 systemctl daemon-reload systemctl restart kubelet 问题解决