一篇了解Containerd容器运行时及安装

一、Containerd简介

1、什么是Containerd?

containerd是一个开源的容器运行时,是Docker引擎的一部分,也是CNCF的一个项目,Containerd提供了标准的容器运行时接口,当然也可以对容器进行管理,常常用来集成Kubernetes、Docker Compose等编排工具。

2、Containerd和Docker的区别是什么?

Docker和containerd都是容器技术实现的,有以下区别:

  • Docker是一个完整的容器平台,包括容器引擎、镜像仓库、网络、存储等组件,而Containerd是一个轻量级的容器运行时,只提供容器生命周期管理和基本的镜像操作。
  • Docker的API和CLI更加丰富,可以方便的进行容器创建,停止、启动、删除等操作,而containerd的API和CLI相对比较简单。
  • Docker的安全和稳定性更高,而Containerd则更加轻量级。
    总之,Docker和Containerd使用的场景不通,Containerd一般集成编排工具使用,很少拿出来单独使用。

二、使用yum仓库安装Containerd

1、添加yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装containerd

yum -y install containerd.io-1.6.6

3、生成containerd配置文件

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

4、修改配置文件,修改以下两项配置即可。

vim /etc/containerd/config.toml

SystemdCgroup = true
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
  • SystemdCgroup:使用SystemdCgroup驱动
  • sandbox_image:配置国内的沙箱镜像地址

沙箱镜像是一个特殊的镜像,其中包含了容器运行时所需的文件和工具,以及用于隔离容器的命名空间和cgroups等资源控制机制。当容器运行时需要创建新的沙箱时,会使用该配置项指定的镜像作为基础镜像来创建沙箱。

5、启动 && 设置自启动

systemctl enable containerd  --now

三、使用源码安装Containerd

1、下载cri-containerd
官网下载:

wget -c https://github.com/containerd/containerd/releases/download/v1.6.6/cri-containerd-1.6.6-linux-amd64.tar.gz

国内下载:

wget https://gitee.com/qinziteng/K8S/raw/master/Package/cri-containerd-1.6.6-linux-amd64.tar.gz

2、拷贝containerd命令 && systemd管理文件

tar zxf cri-containerd-1.6.6-linux-amd64.tar.gz -C /usr/local/src/
cp /usr/local/src/usr/local/bin/* /usr/bin/
cp /usr/local/src/usr/local/bin/* /usr/local/bin/
cp /usr/local/src/etc/systemd/system/containerd.service  /usr/lib/systemd/system/

3、生成containerd配置文件

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

4、修改配置文件,修改以下两项配置即可。

vim /etc/containerd/config.toml

SystemdCgroup = true
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"

4、启动containerd

systemctl start containerd

5、安装runC,如果没有runC命令无法创建容器

wget https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64
mv runc.amd64 /usr/bin/runc
chmod +x /usr/bin/runc

四、配置国内镜像加速地址

1、配置加速地址

mkdir /etc/containerd/certs.d/docker.io/ -p
vim /etc/containerd/certs.d/docker.io/hosts.toml

[host."http://hub-mirror.c.163.com",host."https://registry.docker-cn.com"]
  capabilities = ["pull"]

2、指定加速目录

vim /etc/containerd/config.toml

config_path = "/etc/containerd/certs.d"

3、重启containerd

systemctl restart containerd

4、下载镜像试试效果

ctr images pull docker.io/library/nginx:1.18.0

至此结束!本篇文章介绍了什么是containerd和安装,containerd如何使用请关注后续文章~

猜你喜欢

转载自blog.csdn.net/weixin_45310323/article/details/130423510