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