歡迎光臨
每天分享高質量文章

Rancher:一個全面的可用於產品環境的容器管理平臺 | Linux 中國

通常,沒有 GUI 的 Docker 軟體對於 Linux 管理員來說很容易,但是對於開發者來就有點困難。當把它搬到生產環境上來,那麼它對 Linux 管理員來說也相當不友好。那麼,輕鬆管理 Docker 的最佳解決方案是什麼呢?

— Magesh Maruthamuthu

 

Docker 作為一款容器化應用的新興軟體,被大多數 IT 公司使用來減少基礎設施平臺的成本。

通常,沒有 GUI 的 Docker 軟體對於 Linux 管理員來說很容易,但是對於開發者來就有點困難。當把它搬到生產環境上來,那麼它對 Linux 管理員來說也相當不友好。那麼,輕鬆管理 Docker 的最佳解決方案是什麼呢?

唯一的辦法就是提供 GUI。Docker API 允許第三方應用接入 Docker。在市場上有許多 Docker GUI 應用。我們已經寫過一篇關於 Portainer 應用的文章。今天我們來討論另一個應用,Rancher。

容器讓軟體開發更容易,讓開發者更快的寫程式碼、更好的執行它們。但是,在生產環境上執行容器卻很困難。

推薦閱讀: Portainer:一個簡單的 Docker 管理圖形工具[1]

Rancher 簡介

Rancher[2] 是一個全面的容器管理平臺,它可以讓容器在各種基礎設施平臺的生產環境上部署和執行更容易。它提供了諸如多主機網路、全域性/本地負載均衡和捲快照等基礎設施服務。它整合了原生 Docker 的管理能力,如 Docker Machine 和 Docker Swarm。它提供了豐富的使用者體驗,讓 DevOps 管理員在更大規模的生產環境上執行 Docker。

訪問以下文章可以瞭解 Linux 系統上安裝 Docker。

推薦閱讀:

◈ 如何在 Linux 上安裝 Docker[3]
◈ 如何在 Linux 上使用 Docker 映象[4]
◈ 如何在 Linux 上使用 Docker 容器[5]
◈ 如何在 Docker 容器內安裝和執行應用[6]

Rancher 特性

◈ 可以在兩分鐘內安裝 Kubernetes。
◈ 一鍵啟動應用(90 個流行的 Docker 應用)。
◈ 部署和管理 Docker 更容易。
◈ 全面的生產級容器管理平臺。
◈ 可以在生產環境上快速部署容器。
◈ 強大的自動部署和運營容器技術。
◈ 模組化基礎設施服務。
◈ 豐富的編排工具。
◈ Rancher 支援多種認證機制。

怎樣安裝 Rancher

由於 Rancher 是以輕量級的 Docker 容器方式執行,所以它的安裝非常簡單。Rancher 是由一組 Docker 容器部署的。只需要簡單的啟動兩個容器就能執行 Rancher。一個容器用作管理伺服器,另一個容器在各個節點上作為代理。在 Linux 系統下簡單的執行下列命令就能部署 Rancher。

Rancher 伺服器提供了兩個不同的安裝包標簽如 stable 和 latest。下列命令將會拉取適合的 Rancher 映象並安裝到你的作業系統上。Rancher 伺服器僅需要兩分鐘就可以啟動。

◈ latest:這個標簽是他們的最新開發構建。這些構建將透過 Rancher CI 的自動化框架進行驗證,不建議在生產環境使用。
◈ stable:這是最新的穩定發行版本,推薦在生產環境使用。

Rancher 的安裝方法有多種。在這篇教程中我們僅討論兩種方法。

◈ 以單一容器的方式安裝 Rancher(內嵌 Rancher 資料庫)
◈ 以單一容器的方式安裝 Rancher(外部資料庫)

方法 – 1

執行下列命令以單一容器的方式安裝 Rancher 伺服器(內嵌資料庫)

  1. $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
  2. $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:latest

方法 – 2

你可以在啟動 Rancher 伺服器時指向外部資料庫,而不是使用自帶的內部資料庫。首先建立所需的資料庫,資料庫使用者為同一個。

  1. > CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
  2. > GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
  3. > GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

執行下列命令啟動 Rancher 去連線外部資料庫。

  1. $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
  2. --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle

如果你想測試 Rancher 2.0,使用下列的命令去啟動。

  1. $ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/server:preview

透過 GUI 訪問 & 安裝 Rancher

瀏覽器輸入 http://hostname:8080 或 http://server_ip:8080 去訪問 rancher GUI.

怎樣註冊主機

註冊你的主機 URL 允許它連線到 Rancher API。這是一次性設定。

接下來,點選主選單下麵的 “Add a Host” 連結或者點選主選單上的 “INFRASTRUCTURE >> Add Hosts”,點選 “Save” 按鈕。

預設情況下,Rancher 裡的訪問控制認證禁止了訪問,因此我們首先需要透過一些方法開啟訪問控制認證,否則任何人都不能訪問 GUI。

點選 “>> Admin >> Access Control”,輸入下列的值最後點選 “Enable Authentication” 按鈕去開啟它。在我這裡,是透過 “local authentication” 的方式開啟的。

◈ “Login UserName”: 輸入你期望的登入名
◈ “Full Name”: 輸入你的全名
◈ “Password”: 輸入你期望的密碼
◈ “Confirm Password”: 再一次確認密碼

登出然後使用新的登入憑證重新登入:

現在,我能看到本地認證已經被開啟。

怎樣新增主機

註冊你的主機後,它將帶你進入下一個頁面,在那裡你能選擇不同雲服務提供商的 Linux 主機。我們將新增一個主機執行 Rancher 服務,因此選擇“custom”選項然後輸入必要的資訊。

在第 4 步輸入你伺服器的公有 IP,執行第 5 步列出的命令,最後點選 “close” 按鈕。

  1. $ sudo docker run -e CATTLE_AGENT_IP="192.168.56.2" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.56.2:8080/v1/scripts/16A52B9BE2BAB87BB0F5:1546214400000:ODACe3sfis5V6U8E3JASL8jQ
  2. INFO: Running Agent Registration Process, CATTLE_URL=http://192.168.56.2:8080/v1
  3. INFO: Attempting to connect to: http://192.168.56.2:8080/v1
  4. INFO: http://192.168.56.2:8080/v1 is accessible
  5. INFO: Configured Host Registration URL info: CATTLE_URL=http://192.168.56.2:8080/v1 ENV_URL=http://192.168.56.2:8080/v1
  6. INFO: Inspecting host capabilities
  7. INFO: Boot2Docker: false
  8. INFO: Host writable: true
  9. INFO: Token: xxxxxxxx
  10. INFO: Running registration
  11. INFO: Printing Environment
  12. INFO: ENV: CATTLE_ACCESS_KEY=9946BD1DCBCFEF3439F8
  13. INFO: ENV: CATTLE_AGENT_IP=192.168.56.2
  14. INFO: ENV: CATTLE_HOME=/var/lib/cattle
  15. INFO: ENV: CATTLE_REGISTRATION_ACCESS_KEY=registrationToken
  16. INFO: ENV: CATTLE_REGISTRATION_SECRET_KEY=xxxxxxx
  17. INFO: ENV: CATTLE_SECRET_KEY=xxxxxxx
  18. INFO: ENV: CATTLE_URL=http://192.168.56.2:8080/v1
  19. INFO: ENV: DETECTED_CATTLE_AGENT_IP=172.17.0.1
  20. INFO: ENV: RANCHER_AGENT_IMAGE=rancher/agent:v1.2.11
  21. INFO: Launched Rancher Agent: e83b22afd0c023dabc62404f3e74abb1fa99b9a178b05b1728186c9bfca71e8d

等待幾秒鐘後新新增的主機將會出現。點選 “Infrastructure >> Hosts” 頁面。

怎樣檢視容器

只需要點選下列位置就能列出所有容器。點選 “Infrastructure >> Containers” 頁面。

怎樣建立容器

非常簡單,只需點選下列位置就能建立容器。

點選 “Infrastructure >> Containers >> Add Container” 然後輸入每個你需要的資訊。為了測試,我將建立一個 latest 標簽的 CentOS 容器。

在同樣的串列位置,點選 “ Infrastructure >> Containers”。

點選容器名展示容器的效能資訊,如 CPU、記憶體、網路和儲存。

選擇特定容器,然後點選最右邊的“三點”按鈕或者點選“Actions”按鈕對容器進行管理,如停止、啟動、克隆、重啟等。

如果你想控制檯訪問容器,只需要點選 “Actions” 按鈕中的 “Execute Shell” 選項即可。

怎樣從應用目錄部署容器

Rancher 提供了一個應用模版目錄,讓部署變的很容易,只需要單擊一下就可以。 它維護了多數流行應用,這些應用由 Rancher 社群貢獻。

點選 “Catalog >> All >> Choose the required application”,最後點選 “Launch” 去部署。


 

贊(0)

分享創造快樂