KylinOSv10安装K8S时Coredns容器报错

问题描述

KylinOSv10安装K8SCoredns容器报错。使用同一套利用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

  • 1

相关环境信息

  • 操作系统
    • 使用相同的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版本

操作系统

操作系统安装介质

集群1

10.20.3.49
10.20.3.50
10.20.3.51

kubelet-1.25.5-0.x86_64

Kylin Linux Advanced Server V10 (Sun)

Kylin-Server-10-8.2-Release-Build09-20211104-X86_64.iso

集群2

10.20.3.13
10.20.3.14
10.20.3.15

kubelet-1.25.5-0.x86_64

Kylin Linux Advanced Server V10 (Sword)

Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso

集群3

10.20.3.11
10.20.3.16
10.20.3.17
10.20.3.18

kubelet-1.25.5-0.x86_64

Kylin Linux Advanced Server V10 (Sword)

Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso

环境检查

使用以下命令对集群的相关配置进行检查:

[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"],

解决

dockerkubelet二者使用的cgroup-driver配置改为相同的值,即可解决问题。

结果验证

当二者的cgroup-driver看似相同时

集群

Docker的cgroup-driver

kubelet使用的cgroup-driver

操作系统版本

coredns运行情况

操作及对应结果

集群1

systemd

systemd

Kylin Linux Advanced Server V10 (Sun)

正常

重建pod正常

集群2

systemd

systemd

Kylin Linux Advanced Server V10 (Sword)

持续重启

重建pod、重启docker、重启kubelet后,coredns容器仍然报错,持续重启

集群3

systemd

systemd

Kylin Linux Advanced Server V10 (Sword)

持续重启

重建pod、重启docker、重启kubelet后,coredns容器仍然报错,持续重启

当修改二者的cgroup-driver配置后

集群

Docker的cgroup-driver

kubelet使用的cgroup-driver

操作系统版本

coredns运行情况

操作及对应结果

集群1

systemd

systemd

Kylin Linux Advanced Server V10 (Sun)

正常

首次部署,即正常。

集群2

cgroupfs

systemd

Kylin Linux Advanced Server V10 (Sword)

正常

修改docker配置重启生效后,重建coredns容器,此时正常。

集群3

cgroupfs

cgroupfs

Kylin Linux Advanced Server V10 (Sword)

正常

修改部署参数统一为cgroupfs后,首次部署即正常。

进一步得出的结论

Kylin Linux Advanced Server V10 (Sword)版本的麒麟操作系统有bug:安装docker后,其native.cgroupdriver值为systemd时,并不代表cgroupfs
注意:已测试麒麟Linux V10 SP3中没有此bug

相关截图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值