1. 程式人生 > >使用Rancher和私有倉庫快速搭建Kubernetes集群

使用Rancher和私有倉庫快速搭建Kubernetes集群

rancher dnsmasq board title 功能 集群 elm int -a

來來來,先出題Rancher可以快速部署Kubernetes,但其使用的gcr.io上的鏡像無法下載怎麽辦?使用Rancher可以快速部署Kubernetes,但我們需要下載哪些鏡像?Rancher支持私有鏡像倉庫,如何設置呢?


解題思路:

國內網絡雖然不能直接訪問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的服務端組件,原鏡像的全名是

gcr.io/kubernetes-helm/tiller:v2.6.1 ,rancher中國區的私有倉庫鏡像名稱為:

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集群