利用docker hub做中转拉取google的k8s镜像

1、背景

  部署kubernetes,需要翻墙。但是在初始化的时候,即是翻墙了有的镜像pull依然会超时,导致初始化失败。而你又不想使用国内的一些镜像源,因为更新不及时。很多新功能和插件都不会包括,只想使用google官方的镜像。

2、方法

  可以借助github--->dockerhub来实现,因为他们都在墙外直接可以拉取google的镜像。首先需要注册两个账号,然后登录github创建一个Repository,如k8s-1.9。然后git clone 到本地,再创建Dockerfile,如:

        FROM gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7

1)github

#git clone git@github.com:cuishuaigit/k8s-1.9.git

#cd k8s-1.9

#vim Dockerfile

FROM gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7

#git  add  .

#git commit -m 'gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7'

#git  push

2)dockerhub

选择github   link,然后会要求输入github的密码。

!点击右上角的create----->选择Create  Automated  Build----->选择github---->选择github上的那个项目如 k8s-1.9

!修改Repository 的Name当前为k8s-1.9,修改为Dockerfile里面的如k8s-dns-kube-dns-amd64

!create

!选择Build Settings---->修改Docker Tag Name,为版本号如1.14.7----->Trigger----->Save  Changes

!选择Build Details,状态会有:Queend--->Building--->Success

在服务器上面执行:

# docker pull fastop/k8s-dns-kube-dns-amd64:1.14.7

 修改标签:

#docker tag    fastop/k8s-dns-kube-dns-amd64:1.14.7 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7

附录:

安装k8s过程中涉及到的镜像:

gcr.io/google_containers/kube-proxy-amd64:v1.9.0
gcr.io/google_containers/kube-apiserver-amd64:v1.9.0
gcr.io/google_containers/kube-controller-manager-amd64:v1.9.0
gcr.io/google_containers/kube-scheduler-amd64:v1.9.0
quay.io/coreos/flannel:v0.9.1-amd64
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
gcr.io/google_containers/etcd-amd64:3.1.10
gcr.io/google_containers/pause-amd64:3.0

gcr.io/google_containers/kubernetes-dashboard-amd64:v1.8.1
gcr.io/google_containers/heapster-influxdb-amd64:v1.3.3
gcr.io/google_containers/heapster-grafana-amd64:v4.4.3
gcr.io/google_containers/heapster-amd64:v1.4.2
原文地址:https://www.cnblogs.com/cuishuai/p/8483496.html