CentOS7部署containerd ⚓
下载地址:https://github.com/containerd/containerd/releases
Containerd 的核心功能
Containerd 实现了大多数容器管理功能,包括:
- 容器生命周期管理:创建、启动、停止、删除容器。
- 容器镜像传输和管理:拉取、推送和管理容器镜像。
- 容器存储与网络管理:管理容器的文件系统和网络配置。
containerd-1.6.9-linux-amd64.tar.gz 只包含containerd
cri-containerd-cni-1.6.9-linux-amd64.tar.gz 包含containerd以及cri runc等相关工具包,建议下载本包
1. 下载安装包
[root@localhost ~]# wget https://github.com/containerd/containerd/releases/download/v1.6.9/cri-containerd-cni-1.6.9-linux-amd64.tar.gz
2. 解压安装
[root@localhost ~]# tar -zxvf cri-containerd-cni-1.6.9-linux-amd64.tar.gz -C /
3. 配置
创建containerd目录并生成配置文件
[root@localhost ~]# mkdir /etc/containerd
[root@localhost ~]# containerd config default > /etc/containerd/config.toml
4. 启动
默认 cri-containerd-cni
包中会有containerd启动脚本,已经解压至 cat /etc/systemd/system/containerd.service ,可以直接使用
[root@localhost ~]# systemctl enable containerd --now
查看版本
Containerd属于cs架构需要安装ctr
,通过 ctr 进行管理控制;ctr实际上就是containerd的客户端工具,安装包已经解压过
[root@localhost ~]# ctr version
Client:
Version: v1.6.9 #ctr版本
Revision: 1c90a442489720eec95342e1789ee8a5e1b9536f
Go version: go1.18.7
Server:
Version: v1.6.9 #containerd版本
Revision: 1c90a442489720eec95342e1789ee8a5e1b9536f
UUID: 5a75bcda-dcf9-43d2-9fc8-2bf5a5a54112
[root@localhost ~]# containerd --version
containerd github.com/containerd/containerd v1.6.9 1c90a442489720eec95342e1789ee8a5e1b9536f
5. 镜像加速
在 /etc/containerd/config.toml 文件中添加需要加速的镜像信息:
[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
]
[plugins.cri.registry.mirrors."gcr.io"]
endpoint = [
"https://gcr.mirrors.ustc.edu.cn"
]
[plugins.cri.registry.mirrors."k8s.gcr.io"]
endpoint = [
"https://gcr.mirrors.ustc.edu.cn/google-containers/"
]
[plugins.cri.registry.mirrors."quay.io"]
endpoint = [
"https://quay.mirrors.ustc.edu.cn"
]
例如配置阿里云镜像加速 :
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
endpoint = ["https://registry.aliyuncs.com/k8sxio"]
其中,registry.mirrors."xxx" 表示需要配置 mirror 的镜像仓库原镜像仓库,endpoint 表示提供 mirror 的镜像加速服务。
Docker 只支持为 Docker Hub 配置 mirror,而 Containerd 支持为任意镜像仓库配置 mirror