在使用Kubernetes 时,我们经常需要访问 gcr.io
和 quay.io
镜像仓库。由于一些的原因,这些镜像仓库在中国都无法访问。为了能够顺利访问 gcr.io
等镜像仓库,我们需要在墙外利于VPS搭建一个类似于 gcr.azk8s.cn
的镜像仓库代理站点。利用 Docker 的开源项目 registry 作为上游镜像仓库的缓存,实现这个需求。
效果展示
因为之前下载过,所以镜像已经缓存在了我的registry服务器上面。registry服务器不需要再次向上游拉取镜像。速度会比第一次拉取快。400M大小的镜像大约耗时43s。我的VPS带宽大约在100Mbps,目前来说已经是极限了
[root@k8s-01 ~]# time crictl pull gcr.io/k8s-minikube/kicbase:v0.0.30
Image is up to date for sha256:1312ccd2422d964b2df363d606d0c016d6acbc1ddf0211c26a74717f2897dc43
real 0m42.541s
user 0m0.005s
sys 0m0.006s
[root@k8s-01 ~]# crictl images | grep gcr.io/k8s-minikube/kicbase
gcr.io/k8s-minikube/kicbase v0.0.30 1312ccd2422d9 397MB
实验过程>>有道云笔记