Docker 容器管理:rancher


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

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

定位上和 K8s 比較接近,都是通過 web 界面賦予完全的 docker 服務編排功能。是一個可以讓你通過 web 界面管理 docker 容器的平台。

 

rancher 的特色

  • 平台部署方便。管理 docker 的平台本身也基於 docker 部署。只要你有 docker ,一句命令就完成平台的部署了。

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

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

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

 

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 將這個鏡像下載下來,並且啟動。

  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 界面

  http://192.168.50.151:8089

  

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 調用,做到快速重置數據庫數據的效果(數據庫數據內容事先放好到鏡像中)。這對於一些經常需要 清空-重新初始化數據庫的操作(例如跑自動化測試前重置數據庫),可以節省下不少初始化數據耗費的時間。同時,數據庫數據也通過鏡像的版本管理,初步獲得了版本管理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM