Docker 容器管理:rancher

Rancher:https://www.cnrancher.com/

是一個開源的企業級全棧化容器部署及管理平臺。mysql

定位上和 K8s 比較接近,都是經過 web 界面賦予徹底的 docker 服務編排功能。是一個可讓你經過 web 界面管理 docker 容器的平臺。linux

 

rancher 的特點

  • 平臺部署方便。管理 docker 的平臺自己也基於 docker 部署。只要你有 docker ,一句命令就完成平臺的部署了。web

  • 平臺擴展方便。經過 agent 機制,一句 docker 命令完成 agent 部署,快速增長你的物理機。同時也支持 AWS 等雲主機, 2.0 版本甚至還支持 K8s 。sql

  • 服務部署方便。經過應用商店,2步完成應用部署,並且仍是像 docker-compose 那樣各個中間件獨立編排,能夠隨時擴容的哦。docker

  • 自帶帳戶權限。相比 K8s 沒有帳號管理,rancher 自帶帳號權限體系。帳號能夠獨立建立,也能夠很方便地接入 ldap 等帳號體系。對於公司使用是一大利器。shell

 

rancher 安裝

  • 部署 master

  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

  

Rancher 服務器配置

添加帳號

  首次登陸,尚未配置訪問權限,爲了安全期間,首先點擊上面的 ACCESS CONTROL 來新建一個本地帳號和密碼。

  

  點擊 Enable Local Authentication,打開本地驗證,下次就須要輸入用戶名和密碼才能登陸了。

添加主機

  主機是 Rancher 工做的節點,相似服務器虛擬化的 Hypervisor,咱們如今作 All-in-one 測試,將宿主機添加到 Rancher 節點主機。

  

  

  選擇 APPLICATIONS 下面的 Add Host,彈出的界面選擇 Custom,將頁面第 4 步出現的內容複製粘貼下來。拿到宿主機的命令行執行。

部署 agent

  將上述的命令拷貝到宿主機粘貼執行,agent 用到比較多的 docker 特性,建議使用 linux 機器。我用的是 centos7 

  agent 的啓動命令能夠在界面上自動生成,惟一須要填寫的是 agent 所在主機的 ip 地址會自動下載 rancher/agent 鏡像並運行。等待下載完畢。查看一下進程,多出一個 rancher/agent 的進程,而且已經運行。此時再回網頁查看 Web 控制檯界面,查看 Host 添加以後的結果。

  

能夠看到已經多了一臺活動主機(宿主機),上面運行一個 Rancher Server 容器,就是 Rancher 服務器本身。若是你有其餘主機,也能夠添加其餘主機進來。

 

經過 Web UI 運行容器

  如今經過圖形界面來運行容器,而不是經過命令行。

  

 添加容器

 在 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 應用商店使用

rancher 的應用商店是它的核心功能。經過應用商店,只須要2步界面操做就能夠完成一個應用的部署。

 

 以 sonarquebe 爲例:
第一步,選擇應用。點擊 sonarquebe 下面的【查看細節】按鈕


第二步,點擊啓動。固然若是有須要的話,也能夠選擇下服務版本。其它配置如無特殊須要,通常不須要改動。

 

 

 

而後 sonar 服務就建立出來了。

 

 

 

 

 

 

訪問地址,能夠點擊負載均衡的 Ports 連接,直接打開。

注意:若是是首次建立,agent 須要花幾分鐘下載鏡像,具體耗時取決於網速。

相信聰明的朋友已經猜到了。應用商店除了官方自帶的應用,咱們本身也能夠配置本身的應用商店哦。之後臨時部署一個新的測試服務,直接2步解決。

更多

除了這些基本功能,rancher 還有不少功能。基礎的有容器日誌查看、shell 訪問、資源佔用監控等,擴展的還有多環境管理、多主機服務部署管理等。同時對容器的各類操做,也均可以經過 rancher-cli 、 rancher-compose 命令行工具或者其自帶的 http api 進行控制。

擴展一下,還能夠經過容器替換+http api 調用,作到快速重置數據庫數據的效果(數據庫數據內容事先放好到鏡像中)。這對於一些常常須要 清空-從新初始化數據庫的操做(例如跑自動化測試前重置數據庫),能夠節省下很多初始化數據耗費的時間。同時,數據庫數據也經過鏡像的版本管理,初步得到了版本管理。

相關文章
相關標籤/搜索