containerd配置镜像加速器
Containerd配置镜像加速器
为什么要给containerd配置镜像加速器?
因为k8s1.24以后的容器运行时是containerd,也就是说k8s会直接使用containerd去拉取镜像,并且启动容器,而不再是使用docker去拉取镜像,所以我们需要配置containerd的镜像加速器
containerd的旧版本配置镜像加速器是直接在config.toml文件中添加,而这种做法已经被废弃了
1. 旧版本配置方法
按照官方的说法在containerd1.5版本前,这种方式是可以的,如何配置呢?
1.1 生成containerd配置文件
如果配置文件已经存在则不要执行下面这条命令
containerd config default > /etc/containerd/config.toml
1.2 修改配置文件
vim /etc/containerd/config.toml
# 需要找到这一行,并添加2行
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["镜像加速器地址1","镜像加速器地址2"]
写完之后重启containerd就可以了
2. 新版本配置方法
如果你的containerd的版本是1.5以上的,那么采用这种配置方式
2.1 创建目录
mkdir /etc/containerd/certs.d
将精选加速器的地址放在这个目录下
2.2 配置加速器
# 我们是给docker来配置镜像加速的,所以我们再创建一个docker.io的目录
mkdir /etc/containerd/certs.d/docker.io
然后我们创建一个hosts.toml
文件并配置加速器地址
vim /etc/containerd/certs.d/docker.io/hosts.toml
[host."镜像加速器地址"]
capabilities = ["pull","resolve"]
这样配置好之后我们重启containerd
3. 测试拉取镜像
如果是使用ctr命令的话,则还需要指定hosts路径
ctr images pull docker.io/library/httpd:latest --hosts-dir=/etc/containerd/certs.d
不出意外的话就可以拉取到镜像了。
本文来自博客园,作者:FuShudi,转载请注明原文链接:https://www.cnblogs.com/fsdstudy/p/18355827