在1.20版本中将内置的dockershim进行分离,这个版本依旧还可以使用dockershim,但是在1.24中被删除。从1.24开始,大家需要使用其他受到支持的运 行时选项(例如containerd或CRI-O);如果选择Docker Engine作为运行时,则需要使用cri-dockerdh
一、升级libseccomp版本:在centos7中yum下载libseccomp的版本是2.3的,版本不满足我们最新containerd的需求。 综上所属,在安装containerd前,我们需要优先升级libseccomp,需要下载2.4 以上的版本即可,我这里部署2.5.1版本。
1、卸载旧的containerdrpm -qa |grep libseccomp rpm -e libseccomp-2.3.1-4.el7.x86_64 --nodeps
2.下载libseccomp-2.5.1版本的软件包wget http://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/libseccomp-2.5.1-1.el8.x86_64.rpm
3.安装libseccomp-2.5.1软件包rpm -ivh libseccomp-2.5.1-1.el8.x86_64.rpm
4.检查安装的版本rpm -qa | grep libseccomp
二、安装containerd组件1.下载containerd工具包如wet无法下载,可从网页下载上传到服务器https://github.com/containerd/containerd/releases
wget https://github.com/containerd/containerd/releases/download/v1.6.27/cricontainerd-cni-1.6.27-linux-amd64.tar.gz
2.解压软件包tar -zxvf cri-containerd-cni-1.6.27-linux-amd64.tar.gz -C /
3.创建配置文件目录mkdir -pv /etc/containerd
4、生成默认配置文件containerd config default > /etc/containerd/config.toml
5、替换默认pause镜像地址sed -i 's/k8s.gcr.io/registry.cn-beijing.aliyuncs.com\/abcdocker/'/etc/containerd/config.toml grep sandbox_image/etc/containerd/config.tom[root@k8s-master03 ~]# sed -ie 's#sandbox_image =.*#sandbox_image ="registry.aliyuncs.com/google_containers/pause:3.6"#g'/etc/containerd/config.toml[root@k8s-master03 ~]# grep -i 'sandbox_image'/etc/containerd/config.toml sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"
6、配置systemd作为容器的cgroup driver将SystemdCgroup = false 修改为 SystemdCgroup = true
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/'/etc/containerd/config.toml grep SystemdCgroup/etc/containerd/config.tom
7、设置开机启动:systemctl enable --now containerd systemctl status containerd
8.查看containerd版本ctr version