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