Rancher:一個全面的可用於產品環境的容器管理平臺
Docker 作為一款容器化應用的新興軟體,被大多數 IT 公司使用來減少基礎設施平臺的成本。
通常,沒有 GUI 的 Docker 軟體對於 Linux 管理員來說很容易,但是對於開發者來就有點困難。當把它搬到生產環境上來,那麼它對 Linux 管理員來說也相當不友好。那麼,輕鬆管理 Docker 的最佳解決方案是什麼呢?
唯一的辦法就是提供 GUI。Docker API 允許第三方應用接入 Docker。在市場上有許多 Docker GUI 應用。我們已經寫過一篇關於 Portainer 應用的文章。今天我們來討論另一個應用,Rancher。
容器讓軟體開發更容易,讓開發者更快的寫程式碼、更好的執行它們。但是,在生產環境上執行容器卻很困難。
推薦閱讀: Portainer:一個簡單的 Docker 管理圖形工具
Rancher 簡介
Rancher 是一個全面的容器管理平臺,它可以讓容器在各種基礎設施平臺的生產環境上部署和執行更容易。它提供了諸如多主機網路、全域性/本地負載均衡和卷快照等基礎設施服務。它整合了原生 Docker 的管理能力,如 Docker Machine 和 Docker Swarm。它提供了豐富的使用者體驗,讓 DevOps 管理員在更大規模的生產環境上執行 Docker。
訪問以下文章可以瞭解 Linux 系統上安裝 Docker。
推薦閱讀:
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 伺服器(內嵌資料庫)
$ 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 伺服器時指向外部資料庫,而不是使用自帶的內部資料庫。首先建立所需的資料庫,資料庫使用者為同一個。
> 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 去連線外部資料庫。
$ 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。這是一次性設定。
接下來,點選主選單下面的 “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” 按鈕。
$ 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
等待幾秒鐘後新新增的主機將會出現。點選 “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” 去部署。
作者:Magesh Maruthamuthu 譯者:arrowfeng 校對:wxy
相關文章
- 整合一個可用於生產環境的靜態服務
- 生產環境全鏈路壓測平臺Takin
- 構建一個基於容器的開發環境開發環境
- 關於包管理、環境管理和版本管理以及容器技術的理解
- dmonitor 基於 Django 的輕量級生產環境介面監控平臺Django
- 構建生產環境可用的高可用kubernetes叢集
- lnmp 環境的 docker 可用於 Laravel 和 hyperfLNMPDockerLaravel
- 保障信創雲容器環境,綠盟釋出信創領域容器安全產品
- 產品團隊管理 - 統一研發環境,提效研發過程
- 桌面上的Kubernetes和容器管理:Rancher Desktop
- 基於kubernetes自研容器管理平臺的技術實踐
- 一個基於Django的綜合成績管理系統-------環境配置詳解Django
- 【RSA2019 創新沙盒】CloudKnox—用於混合雲環境中的身份授權管理平臺Cloud
- Oracle PLM,協同研發的產品生命週期管理平臺Oracle
- AgileTC --滴滴開源測試用例管理平臺環境搭建
- 一個簡單的基於Debian的開發環境。開發環境
- 產品全生命週期的產品結構和配置管理構架
- SQLServer高可用方案在企業生產環境的實踐SQLServer
- ForkJoinPool在生產環境中使用遇到的一個問題
- 浙江移動容器雲基於 Dragonfly 的統一檔案分發平臺生產實踐Go
- setV:一個管理 Python 虛擬環境的 Bash 函式Python函式
- 一個基於.NET Core開源、跨平臺的倉儲管理系統
- 分享一個國內可用的 AIGC 生成平臺|免費創作AIGC
- 【Fireyer】一款Android平臺環境檢測應用Android
- 基於CentOS7映象容器的MySQL環境構築CentOSMySql
- 容器平臺
- 寧波三品PLM產品全生命週期管理一體化方案
- 基於Docker環境構建redis單機容器DockerRedis
- 資料產品:CDP(客戶資料平臺)必備的產品能力
- 利用 虛擬機器 搭建全平臺的開發環境 (包括大部分語言和伺服器管理皮膚)虛擬機開發環境伺服器
- 基於 HttpRunner + Django + Vue + Element UI 的介面自動化測試平臺,生產可用HTTPDjangoVueUI
- 平臺化設計產品存在的問題
- 一個可用於生產專案 基於 .NET 6 自研ORMORM
- rancher的一個神器Receiver hooksHook
- 企業容器雲管理平臺選型指南
- 管理混合雲環境的5個要點
- 通過命令驗證docker容器相當一個輕量級的Linux執行環境,且每個容器內都有一個屬於自己的檔案系統,容器之間相互隔離DockerLinux
- [譯] Airflow: 一個工作流程管理平臺AI