是一個開源的企業級全棧化容器部署及管理平臺。mysql
定位上和 K8s 比較接近,都是經過 web 界面賦予徹底的 docker 服務編排功能。是一個可讓你經過 web 界面管理 docker 容器的平臺。linux
平臺部署方便。管理 docker 的平臺自己也基於 docker 部署。只要你有 docker ,一句命令就完成平臺的部署了。web
平臺擴展方便。經過 agent 機制,一句 docker 命令完成 agent 部署,快速增長你的物理機。同時也支持 AWS 等雲主機, 2.0 版本甚至還支持 K8s 。sql
服務部署方便。經過應用商店,2步完成應用部署,並且仍是像 docker-compose 那樣各個中間件獨立編排,能夠隨時擴容的哦。docker
自帶帳戶權限。相比 K8s 沒有帳號管理,rancher 自帶帳號權限體系。帳號能夠獨立建立,也能夠很方便地接入 ldap 等帳號體系。對於公司使用是一大利器。shell
master 對系統基本沒有要求,部署在centos 、ubantu、 mac 或者 windows 上都行。數據庫
# 下載容器
docker pull rancher/server
# 數據庫數據內置。缺點是若是容器損壞了,數據就不可恢復
命令行參數解釋:
docker run 的 -d 參數標示在後臺運行, --restart=always 容器若是異常中止自動重啓。-p 8080:8080 把 Rancher 服務器的UI 對外服務(容器內)的端口 8080 ,綁定到到宿主機的
8080 端口。 後面跟的鏡像名 rancher/server ,Docker 會首先檢查本地有沒有這個鏡像,若是沒有,Docker 會去 Docker Hub 將這個鏡像下載下來,而且啓動。windows
docker run -d --restart=unless-stopped -p 8089:8080 rancher/server
# **推薦**數據庫數據外置。即便容器壞了,數據還在,從新再建一個容器便可
docker run -d -v <host_vol>:/var/lib/mysql --restart=unless-stopped -p 8089:8080 rancher/server
用瀏覽器打開 Rancher 服務器容器 UI 界面centos
http://192.168.50.151:8089api
首次登陸,尚未配置訪問權限,爲了安全期間,首先點擊上面的 ACCESS CONTROL 來新建一個本地帳號和密碼。
點擊 Enable Local Authentication,打開本地驗證,下次就須要輸入用戶名和密碼才能登陸了。
主機是 Rancher 工做的節點,相似服務器虛擬化的 Hypervisor,咱們如今作 All-in-one 測試,將宿主機添加到 Rancher 節點主機。
選擇 APPLICATIONS 下面的 Add Host,彈出的界面選擇 Custom,將頁面第 4 步出現的內容複製粘貼下來。拿到宿主機的命令行執行。
將上述的命令拷貝到宿主機粘貼執行,agent 用到比較多的 docker 特性,建議使用 linux 機器。我用的是 centos7
agent 的啓動命令能夠在界面上自動生成,惟一須要填寫的是 agent 所在主機的 ip 地址會自動下載 rancher/agent 鏡像並運行。等待下載完畢。查看一下進程,多出一個 rancher/agent 的進程,而且已經運行。此時再回網頁查看 Web 控制檯界面,查看 Host 添加以後的結果。
能夠看到已經多了一臺活動主機(宿主機),上面運行一個 Rancher Server 容器,就是 Rancher 服務器本身。若是你有其餘主機,也能夠添加其餘主機進來。
如今經過圖形界面來運行容器,而不是經過命令行。
在 INFRASTRUCTURE 標籤選擇 CONTAINERS,選擇 Add Container
1 輸入 first_container 做爲容器名稱
2 使用默認的 Ubuntu 14.04.3 鏡像
3 點擊Create 按鈕
通過幾秒鐘能夠看到多出一個 first_container 容器和一個 Network Agent。first_container做爲本測試建立的容器。
1 在新建的 Ubuntu 容器的菜單上點擊向下按鈕
2 在Web 頁面中選擇運行 Shell 選項
之後就能夠在此操做容器了。若是您偏心 CLI 命令行,能夠直接到宿主機的命令行操做。
rancher 的應用商店是它的核心功能。經過應用商店,只須要2步界面操做就能夠完成一個應用的部署。
以 sonarquebe 爲例:
第一步,選擇應用。點擊 sonarquebe 下面的【查看細節】按鈕
第二步,點擊啓動。固然若是有須要的話,也能夠選擇下服務版本。其它配置如無特殊須要,通常不須要改動。
而後 sonar 服務就建立出來了。
訪問地址,能夠點擊負載均衡的 Ports 連接,直接打開。
注意:若是是首次建立,agent 須要花幾分鐘下載鏡像,具體耗時取決於網速。
相信聰明的朋友已經猜到了。應用商店除了官方自帶的應用,咱們本身也能夠配置本身的應用商店哦。之後臨時部署一個新的測試服務,直接2步解決。
除了這些基本功能,rancher 還有不少功能。基礎的有容器日誌查看、shell 訪問、資源佔用監控等,擴展的還有多環境管理、多主機服務部署管理等。同時對容器的各類操做,也均可以經過 rancher-cli 、 rancher-compose 命令行工具或者其自帶的 http api 進行控制。
擴展一下,還能夠經過容器替換+http api 調用,作到快速重置數據庫數據的效果(數據庫數據內容事先放好到鏡像中)。這對於一些常常須要 清空-從新初始化數據庫的操做(例如跑自動化測試前重置數據庫),能夠節省下很多初始化數據耗費的時間。同時,數據庫數據也經過鏡像的版本管理,初步得到了版本管理。