在接觸Docker和K8s的前階段就耳聞目擊到Rancher,可是沒有進一步接觸過。直到將K8s搭建完成。才進一步了學習與實踐Rancher。html
Rancher是簡便易用的容器管理。其中Rancher對Kubernetes的支持與維護特別用心,使其在生產環境中的基礎設置裏更易於搭建與使用。git
但實話實說,其一對於k8s的小白能經過rancher方便部署k8s,但在其封裝下,不易理解k8s的內部實現。對於更多專業人士,推薦本身親自搭建K8s;其二,對於生產中使用Rancher,建議須要更爲專業的人士,不能將Rancher只是做爲一個搭建平臺而已。docker
Rancher 版本: v1.6.2shell
其中所需鏡像:segmentfault
Docker 版本: 1.12.5框架
Rancher對支持的Docker版本有相關規定,請仔細閱讀官網文檔學習
Kubernetes 版本: v1.5.4spa
其中所需鏡像:操作系統
這些鏡像均需加載到所需的寄主機中.net
操做系統: Centos7
在寄主機192-168-1-175
上操做:
過一段時間,訪問地址(http://192.168.1.175:8080/) 即可進入Rancher的界面。
隨後在系統管理-訪問控制
中添加本地帳戶
Rancher搭建以Kubernetes模版爲基礎,其定義以rancher-catalog
中的docker-compose.yml
和rancher-compose.yml
爲基礎。
默認官方的rancher-catalog
以下圖所示:
這些yml文件固然也能夠本身編寫,經過在Rancher界面中的第四欄選擇系統管理-系統設置-應用商店
中,停用官方認證的Rancher,或者社區貢獻,添加自定義的能夠git clone
的URl。名稱填寫library
,地址填寫https://xxxxx.git
,分支選擇你須要的分支便可。
若是對Rancher和Kubernetes不是特別深刻的學習,請勿隨意修改這裏面的值。固然這裏面會涉及到相關鏡像,能夠修改成本身的,方便拉取
命名空間kube-system中的dashboard,heapster,grafana,helm
等等,其配置文件都在鏡像rancher/k8s:v1.5.4-rancher1-4
中的/etc/kubernetes/addons/
中,這些服務的啓動就依靠這些配置文件。
若是你想修改這些YAML配置問題——例如我想把其中的imagePullPolicy: Always
這條去掉,避免始終去拉取相關鏡像——大家須要從新制做這個鏡像,則能夠在rancher/kubernetes-package
這個GitHub項目,須要clone到相對應分支或者tag的源碼,加以修改,並建立鏡像,其建立的鏡像就是rancher/k8s:v1.5.4-rancher1-4
以上操做本人實踐過,耗時較長,尚未成功過。主要是卡死在某些步驟上,涉及到一些插件或者依賴包。解決不重建鏡像,又能修改配置的方法,能夠在Kubernetes-UI中實現,修改完yaml文件,而後進行UPDATE
在Rancher界面中的第一欄選擇環境管理-添加環境
中,填寫環境名稱(k8stest)
和環境模版(Kubernetes)
,而後點擊建立
,以下圖
在Rancher界面中的第三欄選擇基礎框架-主機-添加主機
,認真閱讀添加過程當中的每一條,再將第五點的shell命令複製到每一臺寄主機(192-168-1-176,192-168-1-179,192-168-1-180)上
如此完成後,等全部服務啓動完成,即Kubernetes的集羣搭建完成。
主機信息圖以下圖:
在Rancher界面中的第二欄選擇KUBERNETES-基礎設施應用
中,能夠看到全部的基礎應用。以下圖所示:
在應用kubernetes
中能夠列表形式,連接圖形式和編排文件形式(docker-compose.yml和rancher-compose.yml)來查看應用。
以連接圖形式查看以下圖所示:
命名空間kube-system中的服務這裏並不能找到。須要在上述的應用
中找,以下圖所示:
能夠看出這裏的鏡像標籤是端口號,內置的API是錯誤的。
在Rancher界面中的第二欄選擇KUBERNETES-儀表板-Kubernete UI
,直接就跳入Dashboard的界面,以下圖所示:
對於某些節點的清掃,通常用到如下命令: