在云计算和云原生的环境下,不可避免的会使用很多镜像创建容器,其中有些镜像只有谷歌镜像仓库才有,但是国内不可以直接下载谷歌仓库的镜像,下面推荐几种方法,
registry.aliyuncs.com/google_containers是定时同步kubernetes的镜像到阿里镜像仓库服务的,但只是K8S组件的镜像,阿里云镜像仓库有谷歌和RedHat的镜像,但是不全。
当下载k8s.gcr.io,gcr.io镜像和quay.io镜像,可以把k8s.gcr.io,gcr.io, quay.io镜像换成阿里云镜像下载,如下所示:
[root@k8scloude3 ~]# docker pull k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.3.0
#换成
[root@k8scloude3 ~]# docker pull registry.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.3.0
#或者换为
[root@k8scloude3 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.3.0
lank8s.cn是国内安装K8S的基本镜像站,网址为:lank8s · GitHub 。gcr.lank8s.cn提供的镜像包括: /google_samples的镜像,/kubebuilder的镜像,/istio-release的镜像,/tekton-releases的镜像,/distroless的镜像,/google-containers的镜像。
使用kubeadm搭建Kubernetes集群时候,可以使用如下命令(关于完整安装部署Kubernetes(k8s)集群,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html):
#其中使用image-repository参数指定镜像的仓库为lank8s.cn即可
[root@k8scloude3 ~]# kubeadm init --image-repository=lank8s.cn --kubernetes-version=v1.22.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
当下载k8s.gcr.io,gcr.io镜像时候,可以使用 lank8s.cn镜像,对应关系为 k8s.gcr.io –> lank8s.cn,gcr.io –> gcr.lank8s.cn,如下所示:
[root@k8scloude2 ~]# docker pull gcr.io/google-samples/microservices-demo/emailservice:v0.4.0
#换成
[root@k8scloude2 ~]# docker pull gcr.lank8s.cn/google-samples/microservices-demo/emailservice:v0.4.0
[root@k8scloude2 ~]# docker pull k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.3.0
#换成
[root@k8scloude2 ~]# docker pull lank8s.cn/sig-storage/csi-node-driver-registrar:v2.3.0
quay.io是Red Hat运营的镜像库,虽然没有被墙,但下载还是比较慢,可以使用中科大镜像,如下所示:
[root@k8scloude2 ~]# docker pull quay.io/kubevirt/virt-api:v0.45.0
#换成
[root@k8scloude2 ~]# docker pull quay.mirrors.ustc.edu.cn/kubevirt/virt-api:v0.45.0