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 = ["https://hub.rat.dev","镜像加速器地址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

不出意外的话就可以拉取到镜像了。

posted @   FuShudi  阅读(4436)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示