1. 程式人生 > 實用技巧 >無法訪問gcr.io的幾種解決辦法

無法訪問gcr.io的幾種解決辦法

https://www.cnblogs.com/tylerzhou/p/10971341.html

系列目錄

由於一些原因,在國內無法訪問gcr.io上的映象,在安裝kubernetes時,很多官方映象又是都存在gcr.io上,在國內的一些教程中大都使用阿里雲的映象,但是由於阿里雲映象地址更換等原因,當按照文件使用阿里雲映象時可能已經變得不可用.下面結合實際經驗,列舉出幾種常用的辦法來解決這個問題

使用阿里雲映象地址

  • 地址1registry.aliyuncs.com/google_containers
  • 地址2registry.cn-hangzhou.aliyuncs.com/google_containers

使用dockerhub下的mirrorgooglecontainers

這個域名下同步了很多谷歌映象,比如說要下載kube-proxy-amd64:v1.11.3這個映象,可以使用docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.11.3來進行下載,下載以後對映象重新打標籤:

docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.11.3 k8s.gcr.io/kube-proxy-amd64:v1.11.3

使用國內作者製作的gcr.io映象安裝工具

專案地址:

https://github.com/zhangguanzhang/gcr.io

查詢namespace

[centos@k8s-master tekton]$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s search gcr.io
cloud-builders
cloud-datalab
cloudsql-docker
distroless
google-appengine
google-samples
google_containers
google_samples
heptio-images
istio-release
k8s-minikube
kaniko-project
knative-releases
knative-samples
kubeflow-images-public
kubernetes-e2e-test-images
kubernetes-helm
linkerd-io
runconduit
spinnaker-marketplace
tf-on-k8s-dogfood

查詢某一名稱空間下映象列表

[centos@k8s-master tekton]$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s search gcr.io/google_containers
addon-builder
addon-resizer-amd64
addon-resizer-arm
addon-resizer-arm64
addon-resizer-ppc64le
addon-resizer-s390x
addon-resizer
aggregator
alpine-iptables-amd64
alpine-iptables-arm
alpine-iptables-arm64
alpine-with-bash
apparmor-loader
busybox
cadvisor
cassandra-e2e-test
cassandra
check-metadata-concealment
cloud-controller-manager-amd64
cloud-controller-manager-arm
cloud-controller-manager-arm64
cloud-controller-manager-ppc64le
cloud-controller-manager-s390x
cloud-controller-manager
cloudsql-authenticator
cluster-autoscaler
cluster-proportional-autoscaler-amd64
cluster-proportional-autoscaler-arm
cluster-proportional-autoscaler-arm64
cluster-proportional-autoscaler-ppc64le
clusterapi-tester
clusterregistry
conformance-amd64
conformance-arm
conformance-arm64
conformance-ppc64le
conformance-s390x
conformance
coredns
...

查詢某一映象的版本所有版本tag

[centos@k8s-master tekton]$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s search gcr.io/google_containers/coredns
1.0.1
1.0.1__amd64_linux
1.0.1__arm64_linux
1.0.1__arm_linux
1.0.1__ppc64le_linux
1.0.1__s390x_linux
1.0.6
1.0.6__amd64_linux
1.0.6__arm64_linux
1.0.6__arm_linux
1.0.6__ppc64le_linux
1.0.6__s390x_linux
1.1.3
1.1.3__amd64_linux
1.1.3__arm64_linux
1.1.3__arm_linux
1.1.3__ppc64le_linux
1.1.3__s390x_linux
1.2.2
1.2.3
1.2.4
1.2.6
1.3.0
1.3.1

拉取某一映象

curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- gcr.io/google_containers/kube-apiserver-amd64:v1.11.3

以上搜索的時候,如果僅指定了gcr.io則搜尋下面所有的名稱空間,如果指定的名稱空間,則搜尋指定名稱空間下的所有映象,如果指定了映象,則搜尋映象的所有版本資訊

使用search命令的時候,如果沒有安裝jq則會提示安裝jq.jq在centos下安裝方法:

  • 安裝EPEL源:
yum install epel-release
  • 安裝完EPEL源後,可以檢視下jq包是否存在:
yum list jq
  • 安裝jq:
yum install jq