ubuntu系统的containerd二进制安装
containerd有两种安装包:
第一种是containerd-xxx,这种包用于单机测试没问题,不包含runC,需要提前安装。
第二种是cri-containerd-cni-xxx,包含runC和k8s里所需要的相关文件。k8s集群需要用到此包。虽然包含runC,但是依赖系统中的seccomp(安全计算模式,是一种限制容器调用系统资源的模式)
安装containerd:
1、从github获取cri-containerd-cni-1.7.28-linux-amd64.tar.gz安装包,上传到ubuntu
url: https://github.com/containerd/containerd
2、解压cri-containerd-cni-1.7.28-linux-amd64.tar.gz
mkdir cri-containerd-cni-1.7.28-linux
mv cri-containerd-cni-1.7.28-linux-amd64.tar.gz
tar -xf cri-containerd-cni-1.7.28-linux-amd64.tar.gz
3、解压后有三个目录,分别是etc、opt和usr
etc主要为containerd服务管理配置文件及cni虚拟网卡配置文件

opt目录主要为gce环境中使用crontainerd配置文件及基础的cni插件。安装kubernetes时刚开始会用到这些cni插件,所以最好还是将opt/cni/bin目录的文件复制到/opt/cni/bin目录下。如果后面装了其他cni网络插件,会覆盖这些文件。

usr目录主要为crontainerd运行时文件,包含runC

4、将usr/local/bin/目录的下的文件复制到/usr/local/bin目录,将etc/systemd/system/containerd.service服务管理配置文件复制到/etc/systemd/system/目录

5、生成containerd的配置文件
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
6、启动containerd并设置为开机启动
systemctl start containerd.service
systemctl enable containerd.service
systemctl status containerd.service

7、创建/usr/local/bin/ctr的软链接到/usr/bin/ctr,使ctr命令能正常使用
ln -s /usr/local/bin/ctr /usr/bin/ctr
查看containerd版本:
ctr version

8、安装runC
由于二进制包中提供的runC默认需要系统中安装seccomp支持,需要单独安装,且不同版本runC对seccomp版本要求一致,所以建议单独下载runC二进制包进行安装,里面包含了seccomp模块支持。
使用wget下载(自己想办法去github下载:https://github.com/opencontainers/runc)
wget https://github.com/opencontainers/runc/releases/download/v1.2.7/runc.amd64
cp runc.amd64 /usr/bin/runc
ls -lh /usr/bin/runc
chmod +x /usr/bin/runc
runc -v

安装完毕

浙公网安备 33010602011771号