使用Rancher和私有倉庫快速搭建Kubernetes集群
解題思路:
國內網絡雖然不能直接訪問gcr.io服務器,但是能夠訪問hub.docker.com鏡像倉庫,而hub.docker.com能夠訪問gcr.io服務器。利用這個特性,以及hub.docker.com自身的“Create Automated Build”功能,讀取github.com代碼庫上的自定義Dockerfile文件,自動創建部署Kubernetes所需的谷歌鏡像。然後設置Rancher中Kubernetes模板,讓我們的服務器去hub.docker.com中的私有倉庫中拉取鏡像。從而完成整個Kubernetes的部署過程。
問題1:谷歌服務器gcr.io上的鏡像無法訪問怎麽辦?
《獲取 Kubernetes 鏡像的方法》http://blog.csdn.net/shida_csdn/article/details/78480241 這篇文件以及圖文並茂的講解得非常清楚了。
問題2:使用Rancher快速部署Kubernetes需要哪些鏡像?
《Rancher v1.6.14部署K8S1.8.5所需的鏡像列表》http://blog.csdn.net/CSDN_duomaomao/article/details/79127856 ,本文以1.6.14版本為例。
特別說明:
1、rancher_cn打頭的鏡像中,tiller這個鏡像很特殊,它是kubernetes部署工具 helm的服務端組件,原鏡像的全名是
registry.cn-shenzhen.aliyuncs.com/rancher_cn/tiller:v2.6.1
我在Github中私有代碼庫中的tiller/v2.6.1/Dockerfile文件內容為:
FROM gcr.io/kubernetes-helm/tiller:v2.6.1
MAINTAINER [email protected]
2、其他鏡像前綴都是gcr.io/google_containers/:
registry.cn-shenzhen.aliyuncs.com/rancher_cn/pause-amd64 3.0
registry.cn-shenzhen.aliyuncs.com/rancher_cn/kubernetes-dashboard-amd64 v1.8.0
registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-sidecar-amd64 1.14.5
registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-kube-dns-amd64 1.14.5
registry.cn-shenzhen.aliyuncs.com/rancher_cn/k8s-dns-dnsmasq-nanny-amd64 1.14.5
registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-influxdb-amd64 v1.3.3
registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-grafana-amd64 v4.4.3
registry.cn-shenzhen.aliyuncs.com/rancher_cn/heapster-amd64 v1.4.0
我在Github 中私有代碼庫中的pause-amd64/3.0/Dockerfile文件內容為:
FROM gcr.io/google_containers/pause-amd64:3.0
MAINTAINER [email protected]
其余的heapster和k8S 打頭的鏡像也一樣,Dockerfile文件非常簡單,就是直接引用gcr.io上的鏡像。
......
問題3:Rancher中私有倉庫如何設置?
《rancher中國區加速安裝Kubernetes》https://anjia0532.github.io/2017/11/13/rancher-k8s-china/
Rancher中Kubernetes模板設置要點:
Private Registry for Add-Ons and Pod Infra Container Image index.docker.io
Image namespace for Add-Ons and Pod Infra Container Image dockermaomao
Image namespace for kubernetes-helm Image dockermaomao
Pod Infra Container Image dockermaomao
運行截圖:
01-github內容
02-其中一個鏡像的自動創建設置(pause-amd64)
02-其中一個鏡像的自動創建設置(kubernetes-dashboard-amd64)
03-如何生成自動創建鏡像
03-如何生成自動創建鏡像2
03-如何生成自動創建鏡像3
03-如何生成自動創建鏡像4
04-自動創建後Dockerhub鏡像倉庫內容
04-自動創建後Dockerhub鏡像倉庫內容2
05-Rancher中的Kubernetes模板環境設置-關鍵4個參數
06-使用Rancher部署Kubernetes後,面板中顯示,使用的是私有倉庫的鏡像
01-github內容
02-其中一個鏡像的自動創建設置(pause-amd64)
02-其中一個鏡像的自動創建設置(kubernetes-dashboard-amd64)
03-如何生成自動創建鏡像
03-如何生成自動創建鏡像2
03-如何生成自動創建鏡像3
03-如何生成自動創建鏡像4
04-自動創建後Dockerhub鏡像倉庫內容
04-自動創建後Dockerhub鏡像倉庫內容2
05-Rancher中的Kubernetes模板環境設置-關鍵4個參數
06-使用Rancher部署Kubernetes後,面板中顯示,使用的是私有倉庫的鏡像
參考鏈接:
獲取 Kubernetes 鏡像的方法:
http://blog.csdn.net/shida_csdn/article/details/78480241
Rancher v1.6.14部署K8S1.8.5所需的鏡像列表:
http://blog.csdn.net/CSDN_duomaomao/article/details/79127856
rancher中國區加速安裝Kubernetes:
https://anjia0532.github.io/2017/11/13/rancher-k8s-china/
rancher安裝Kubernetes:
https://anjia0532.github.io/2017/11/10/rancher-k8s/
本文的Github代碼:
https://github.com/colindaddy/googlecontainer
本文的dockerhub鏡像庫:
https://hub.docker.com/u/dockermaomao/
使用Rancher和私有倉庫快速搭建Kubernetes集群