做者簡介node
做者:Steve Buchanangit
Steve Buchanan,Avanade雲轉型與DevOps團隊主管。近20年的IT從業經驗,出版過多本雲和數據中心管理的技術書籍。從2012年起至今,Steve連續7年成爲微軟MVP,並在2017年得到過微軟「25 ITSM Experts to Watch in 2017」和「IT Unity Community Champ」。github
Rancher是一個開源的Kubernetes多集羣操做和工做負載管理的解決方案。簡而言之,您可使用Rancher來統一部署和管理公有云(如Azure、AWS、GCP等)上的Kubernetes集羣,它們能夠是公有云託管的Kubernetes如GCE、EKS、AKS,也能夠是用戶本身建立的集羣。Rancher還集成了許多第三方身份驗證解決方案,諸如Active Directory、Azure Active Directory、Github,還有Splunk、Elasticsearch或Syslog端點等日誌解決方案。docker
關於經過Terraform在筆記本電腦或AWS上運行Rancher,我找到了很多現成的的指令和設置腳本能夠供用戶直接使用,卻發現關於Azure + Rancher的相關內容比較少。shell
我本身嘗試後,成功地讓個人Rancher環境在Azure上運行了。但我想,若是有一些準備好了的腳本或模板,可讓你們更快速地在Azure上啓動Rancher,那就更不錯。我找到了一些其餘人貢獻的ARM模板來驅動Rancher,可是他們部署的是舊版本的Rancher,而且在模板中不清楚如何更新,以部署最新版本的Rancher。因而我決定構建一些可用於在Azure上快速部署Rancher、並將一個Kubernetes主機添加到Rancher的ARM模板。在我構建的這個ARM模板中,它將始終從Docker Hub中拉取Rancher容器,所以它可以保持始終部署了最新版本的Rancher。在這篇文章中,我將詳細說明如何讓你的Rancher在15分鐘內啓動並運行。瀏覽器
首先,您能夠在個人Github上找到ARM模板:app
https://github.com/Buchatech/DeployRanchertoAzure。ssh
這個鏡像庫中包含了用於部署Rancher的ARM模板和用於Kubernetes的主機VM。注意:我提供的這些模板能夠供你們學習使用,但我不建議將其用於生產。學習
在repo中,名爲RancherNode.JSON的ARM模板#1將部署一個帶Docker的Ubuntu VM以及最新版的Rancher(https://hub.docker.com/r/rancher/rancher)。名爲RancherHost.JSON的ARM模板#2將部署帶有Docker的Ubuntu VM,用做爲Rancher中的Kubernetes主機。3d
節點部署
經過「模版部署」或其餘部署方法,將RancherNode.JSON的ARM模板部署到Azure訂閱中。系統將提示您輸入下面這張屏幕截圖中顯示的信息:
主機部署
經過「模板部署」或其餘部署方法,將RancherHost.JSON ARM模板部署到Azure訂閱中。須要注意的是,這個操做應該將Rancher Host ARM模版部署到和Rancher Node ARM模板的同一個資源組中。系統將提示您輸入下面這張屏幕截圖中顯示的信息:
部署Rancher Node和Rancher Host ARM模板後,就能夠在新資源組中看到如下資源了:
接下來,在Web瀏覽器中,打開Rancher門戶。URL是Rancher Node VM的DNS名稱。若是你不知道DNS名稱是什麼,能夠單擊概述頁面上Azure門戶中的Rancher Node VM。如下是URL的示例:
https://ranchernode.centralus.cloudapp.azure.com
Rancher門戶將提示您設置密碼,就以下圖所示:
設置好密碼後,Rancher門戶將提示您輸入正確的Rancher Server URL。這將自動成爲Rancher Node VM DNS名稱。而後單擊「保存URL」。
保存以後,你就會登陸到Rancher門戶,而後看到集羣頁面。如今你能夠向Rancher添加新的Kubernetes集羣了。在這篇文章中,我將展現如何將集羣添加到Rancher Host VM。完成全部這一切後,Rancher會成功地將Kubernetes部署到Rancher Host VM。你也能夠添加一個託管的Kubernetes,例如AKS,但這篇文章中咱們暫時不演示這部份內容了。
單擊「添加集羣」
在「從我本身的現有節點」下,單擊「自定義」,爲集羣命名,而後單擊「下一步」。
接下來,檢查節點選項的全部可選框,由於全部角色都將在單個Kubernetes集羣上。複製頁面底部顯示的代碼,單擊「完成」,並在Rancher主機上運行代碼。
要在Rancher主機上運行代碼,您須要SSH並從那裏運行它。請按照下列步驟操做:
在Azure門戶中,在資源組中點擊Rancher Host VM。
在Overview頁面上,單擊Connect。
稍後會彈出一個「鏈接到虛擬機」的屏幕,複製屏幕上的「ssh ranchuser@rancherhost.centralus.cloudapp.azure.com」。
經過VS代碼,打開Azure雲shell的終端或相似終端的終端,而後輸入剛剛複製的「ssh ranchuser@rancherhost.centralus.cloudapp.azure.com」。
運行代碼將以下所示:
完成後,運行Docker PS,以查看Rancher agent容器是否正在運行:
在集羣下的Rancher門戶中,能夠看到Rancher主機正在配置中:
當Kubernetes部署完成後,狀態將發生變化:
完成配置後,Kubernetes集羣將處於「活躍」狀態了:
如今咱們能夠看到這個新的Kubernetes集羣的大量信息了。咱們甚至能夠今後處啓動Kubectl並開始運行命令!你能夠花點時間處處點擊試試,看看有哪些是你使用Kubernetes時熟悉的東西。能夠說Rancher是真正大幅簡化了Kubernetes的管理體驗,Cool!
若是要添加更多節點或再次須要配置代碼,只需單擊我下圖框出的省略號按鈕,而後進行編輯便可:
在「編輯集羣」中,您能夠更改集羣名稱、獲取和更改設置、以及複製代碼以將更多VM添加到集羣中:
本文到此結束,歡迎在做者博客中瞭解更多有關Azure、Kubernetes、Rancher的技術文章: