问题描述
KylinOSv10安装K8S时Coredns容器报错。使用同一套利用kubeadm工具的安装脚本,相同的参数变量,在操作系统版本不同的两组服务器上安装K8S后,其中一组出现coredns容器持续重启的问题。(报错:applying cgroup configuration for process caused “No such device or address”)
coredns容器的具体报错如下:
Message: failed to create shim task: OCI runtime create failed: container_linux.go:318: starting container process caused "process_linux.go:281: applying cgroup configuration for process caused \"No such device or address\"": unknown
相关环境信息
操作系统
使用相同的kubeadm脚本准备了3套K8S集群,运行安装脚本后,K8S各节点均运行正常。
集群1安装的是 Kylin Linux Advanced Server V10 (Sun) 操作系统。
集群2、集群3安装的是 Kylin Linux Advanced Server V10 (Sword) 操作系统。
3套集群均安装了相同版本的软件,具体如下:
docker-scan-plugin-0.23.0-3.el7.x86_64
docker-ce-rootless-extras-20.10.23-3.el7.x86_64
docker-ce-20.10.21-3.el7.x86_64
docker-runc-1.0.0.rc3-103.ky10.x86_64
docker-ce-cli-20.10.21-3.el7.x86_64
kubeadm-1.25.5-0.x86_64
kubernetes-cni-1.1.1-0.x86_64
kubectl-1.25.5-0.x86_64
kubelet-1.25.5-0.x86_64
集群 服务器IP K8S版本 操作系统 操作系统安装介质
使用以下命令对集群的相关配置进行检查:
[root@localhost ~]# docker info | grep -E "Cgroup Driver|Runtimes"
Cgroup Driver: systemd
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
[root@localhost ~]# cat /var/lib/kubelet/config.yaml |grep cgroupDriver
cgroupDriver: systemd
[root@localhost ~]# cat /etc/docker/daemon.json |grep native.cgroupdriver
"exec-opts": ["native.cgroupdriver=systemd"],
解决
将docker和kubelet二者使用的cgroup-driver配置改为相同的值,即可解决问题。
结果验证
进一步得出的结论
Kylin Linux Advanced Server V10 (Sword)版本的麒麟操作系统有bug:安装docker后,其native.cgroupdriver值为systemd时,并不代表cgroupfs。
*
来源
https://blog.csdn.net/weixin_43092290/article/details/131756538