Rancher:一個全面的可用于產(chǎn)品環(huán)境的容器管理平臺
Docker 作為一款容器化應(yīng)用的新興軟件,被大多數(shù) IT 公司使用來減少基礎(chǔ)設(shè)施平臺的成本。
通常,沒有 GUI 的 Docker 軟件對于 Linux 管理員來說很容易,但是對于開發(fā)者來就有點困難。當(dāng)把它搬到生產(chǎn)環(huán)境上來,那么它對 Linux 管理員來說也相當(dāng)不友好。那么,輕松管理 Docker 的***解決方案是什么呢?
唯一的辦法就是提供 GUI。Docker API 允許第三方應(yīng)用接入 Docker。在市場上有許多 Docker GUI 應(yīng)用。我們已經(jīng)寫過一篇關(guān)于 Portainer 應(yīng)用的文章。今天我們來討論另一個應(yīng)用,Rancher。
容器讓軟件開發(fā)更容易,讓開發(fā)者更快的寫代碼、更好的運行它們。但是,在生產(chǎn)環(huán)境上運行容器卻很困難。
推薦閱讀: Portainer:一個簡單的 Docker 管理圖形工具
Rancher 簡介
Rancher 是一個全面的容器管理平臺,它可以讓容器在各種基礎(chǔ)設(shè)施平臺的生產(chǎn)環(huán)境上部署和運行更容易。它提供了諸如多主機網(wǎng)絡(luò)、全局/本地負載均衡和卷快照等基礎(chǔ)設(shè)施服務(wù)。它整合了原生 Docker 的管理能力,如 Docker Machine 和 Docker Swarm。它提供了豐富的用戶體驗,讓 DevOps 管理員在更大規(guī)模的生產(chǎn)環(huán)境上運行 Docker。
訪問以下文章可以了解 Linux 系統(tǒng)上安裝 Docker。
推薦閱讀:
- 如何在 Linux 上安裝 Docker
- 如何在 Linux 上使用 Docker 鏡像
- 如何在 Linux 上使用 Docker 容器
- 如何在 Docker 容器內(nèi)安裝和運行應(yīng)用
Rancher 特性
- 可以在兩分鐘內(nèi)安裝 Kubernetes。
- 一鍵啟動應(yīng)用(90 個流行的 Docker 應(yīng)用)。
- 部署和管理 Docker 更容易。
- 全面的生產(chǎn)級容器管理平臺。
- 可以在生產(chǎn)環(huán)境上快速部署容器。
- 強大的自動部署和運營容器技術(shù)。
- 模塊化基礎(chǔ)設(shè)施服務(wù)。
- 豐富的編排工具。
- Rancher 支持多種認(rèn)證機制。
怎樣安裝 Rancher
由于 Rancher 是以輕量級的 Docker 容器方式運行,所以它的安裝非常簡單。Rancher 是由一組 Docker 容器部署的。只需要簡單的啟動兩個容器就能運行 Rancher。一個容器用作管理服務(wù)器,另一個容器在各個節(jié)點上作為代理。在 Linux 系統(tǒng)下簡單的運行下列命令就能部署 Rancher。
Rancher 服務(wù)器提供了兩個不同的安裝包標(biāo)簽如 stable
和 latest
。下列命令將會拉取適合的 Rancher 鏡像并安裝到你的操作系統(tǒng)上。Rancher 服務(wù)器僅需要兩分鐘就可以啟動。
latest
:這個標(biāo)簽是他們的***開發(fā)構(gòu)建。這些構(gòu)建將通過 Rancher CI 的自動化框架進行驗證,不建議在生產(chǎn)環(huán)境使用。stable
:這是***的穩(wěn)定發(fā)行版本,推薦在生產(chǎn)環(huán)境使用。
Rancher 的安裝方法有多種。在這篇教程中我們僅討論兩種方法。
- 以單一容器的方式安裝 Rancher(內(nèi)嵌 Rancher 數(shù)據(jù)庫)
- 以單一容器的方式安裝 Rancher(外部數(shù)據(jù)庫)
方法 - 1
運行下列命令以單一容器的方式安裝 Rancher 服務(wù)器(內(nèi)嵌數(shù)據(jù)庫)
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:latest
方法 - 2
你可以在啟動 Rancher 服務(wù)器時指向外部數(shù)據(jù)庫,而不是使用自帶的內(nèi)部數(shù)據(jù)庫。首先創(chuàng)建所需的數(shù)據(jù)庫,數(shù)據(jù)庫用戶為同一個。
> CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
> GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
> GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
運行下列命令啟動 Rancher 去連接外部數(shù)據(jù)庫。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
--db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle
如果你想測試 Rancher 2.0,使用下列的命令去啟動。
$ 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。這是一次性設(shè)置。
接下來,點擊主菜單下面的 “Add a Host” 鏈接或者點擊主菜單上的 “INFRASTRUCTURE >> Add Hosts”,點擊 “Save” 按鈕。
默認(rèn)情況下,Rancher 里的訪問控制認(rèn)證禁止了訪問,因此我們首先需要通過一些方法打開訪問控制認(rèn)證,否則任何人都不能訪問 GUI。
點擊 “>> Admin >> Access Control”,輸入下列的值***點擊 “Enable Authentication” 按鈕去打開它。在我這里,是通過 “local authentication” 的方式打開的。
- “Login UserName”: 輸入你期望的登錄名
- “Full Name”: 輸入你的全名
- “Password”: 輸入你期望的密碼
- “Confirm Password”: 再一次確認(rèn)密碼
注銷然后使用新的登錄憑證重新登錄:
現(xiàn)在,我能看到本地認(rèn)證已經(jīng)被打開。
怎樣添加主機
注冊你的主機后,它將帶你進入下一個頁面,在那里你能選擇不同云服務(wù)提供商的 Linux 主機。我們將添加一個主機運行 Rancher 服務(wù),因此選擇“custom”選項然后輸入必要的信息。
在第 4 步輸入你服務(wù)器的公有 IP,運行第 5 步列出的命令,***點擊 “close” 按鈕。
$ 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
INFO: Running Agent Registration Process, CATTLE_URL=http://192.168.56.2:8080/v1
INFO: Attempting to connect to: http://192.168.56.2:8080/v1
INFO: http://192.168.56.2:8080/v1 is accessible
INFO: Configured Host Registration URL info: CATTLE_URL=http://192.168.56.2:8080/v1 ENV_URL=http://192.168.56.2:8080/v1
INFO: Inspecting host capabilities
INFO: Boot2Docker: false
INFO: Host writable: true
INFO: Token: xxxxxxxx
INFO: Running registration
INFO: Printing Environment
INFO: ENV: CATTLE_ACCESS_KEY=9946BD1DCBCFEF3439F8
INFO: ENV: CATTLE_AGENT_IP=192.168.56.2
INFO: ENV: CATTLE_HOME=/var/lib/cattle
INFO: ENV: CATTLE_REGISTRATION_ACCESS_KEY=registrationToken
INFO: ENV: CATTLE_REGISTRATION_SECRET_KEY=xxxxxxx
INFO: ENV: CATTLE_SECRET_KEY=xxxxxxx
INFO: ENV: CATTLE_URL=http://192.168.56.2:8080/v1
INFO: ENV: DETECTED_CATTLE_AGENT_IP=172.17.0.1
INFO: ENV: RANCHER_AGENT_IMAGE=rancher/agent:v1.2.11
INFO: Launched Rancher Agent: e83b22afd0c023dabc62404f3e74abb1fa99b9a178b05b1728186c9bfca71e8d
等待幾秒鐘后新添加的主機將會出現(xiàn)。點擊 “Infrastructure >> Hosts” 頁面。
怎樣查看容器
只需要點擊下列位置就能列出所有容器。點擊 “Infrastructure >> Containers” 頁面。
怎樣創(chuàng)建容器
非常簡單,只需點擊下列位置就能創(chuàng)建容器。
點擊 “Infrastructure >> Containers >> Add Container” 然后輸入每個你需要的信息。為了測試,我將創(chuàng)建一個 latest
標(biāo)簽的 CentOS 容器。
在同樣的列表位置,點擊 “ Infrastructure >> Containers”。
點擊容器名展示容器的性能信息,如 CPU、內(nèi)存、網(wǎng)絡(luò)和存儲。
選擇特定容器,然后點擊最右邊的“三點”按鈕或者點擊“Actions”按鈕對容器進行管理,如停止、啟動、克隆、重啟等。
如果你想控制臺訪問容器,只需要點擊 “Actions” 按鈕中的 “Execute Shell” 選項即可。
怎樣從應(yīng)用目錄部署容器
Rancher 提供了一個應(yīng)用模版目錄,讓部署變的很容易,只需要單擊一下就可以。 它維護了多數(shù)流行應(yīng)用,這些應(yīng)用由 Rancher 社區(qū)貢獻。
點擊 “Catalog >> All >> Choose the required application”,***點擊 “Launch” 去部署。