k8s中导入下载过慢的镜像

449 阅读1分钟

使用国外服务器docker下载镜像

# 使用docker下载在k8s服务器上下载过慢的镜像

docker pull ghcr.io/kubedb/kubedb-webhook-server:v0.10.0
docker pull ghcr.io/kubedb/kubedb-provisioner:v0.34.1

打包下载好的镜像

# 查看服务器下载好的镜像
[root@node4 ~]# docker images
REPOSITORY                                                      TAG       IMAGE ID       CREATED         SIZE
ghcr.io/kubedb/kubedb-provisioner                               v0.34.1   3a395701f46a   2 weeks ago     202MB
ghcr.io/kubedb/kubedb-webhook-server                            v0.10.0   6995c4af41bf   4 weeks ago     148MB

# 导出镜像为tar包
docker save -o  kubedb-provisioner.tar ghcr.io/kubedb/kubedb-provisioner:v0.34.1
docker save -o kubedb-webhook-server.tar ghcr.io/kubedb/kubedb-webhook-server:v0.10.0

导入到k8s中要运行这个容器的节点中

使用ctr导入镜像

ctr是containerd自带的工具,有命名空间的概念,若是k8s相关的镜像,都默认在k8s.io这个命名空间,所以导入镜像时需要指定命令空间为k8s.io

#使用ctr命令指定命名空间导入镜像 
ctr -n=k8s.io image import kubedb-provisioner.tar 

#查看镜像,可以看到可以查询到了 
crictl images