Rancher - 容器管理平臺

沉舟側畔千帆過 病樹床頭萬木春

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

通常,沒有GUI的docker軟件對于Linux管理員很友好,但是對于開發者來說很不友好。當把它搬到生產環境上來,那么它對Linux管理員來說也相當不友好。那么,什么最佳解決方案可以輕松的管理docker。

僅有的方式那就是提供GUI。Docker API允許第三方平臺接入Docker。在市場上有許多docker GUI應用可用。我們已經寫了一篇關于Portainer應用的文章。今天我們來討論另一個應用,Rancher。

容器讓軟件開發更容易,讓開發者寫代碼更快且更好的運行它們。但是,在生產環境上運行容器卻很困難。

什么是 Rancher

Rancher是一個完整的容器管理平臺,在任意基礎設施平臺的生產環境上,它讓容器的部署和運行更容易。它提供了諸如多主機網絡,全局、局部負載均衡和卷快照等基礎設施服務。它整合原生Docker的管理能力,如Docker Machine和Docker Swarm。它提供了豐富的用戶體驗,讓devops管理員以一個更大的規模在生產環境上運行Docker。

以下文章導航到在Linux系統上安裝Docker。

推薦閱讀 :
(#) 怎樣在Linux上安裝Docker
(#) 怎樣在Linux上玩轉Docker Image
(#) 怎樣在Linux上玩轉Docker Container
(#) 怎樣在Docker容器中安裝,運行應用程序

Rancher 特性

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

怎樣安裝Rancher

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

Rancher服務提供了兩個不同的安裝包標簽如stablelatest。下列命令將會拉去適合的rancher鏡像并安裝到你的操作系統上。Rancher server僅需要幾分鐘就可以啟動。

  • 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 or http://server_ip:8080 去訪問 rancher GUI.

image.png

怎樣注冊主機

注冊你的主機URL允許去連接到Rancher API。這是一次性設置。

接下來,點擊主菜單下面的Add a Host鏈接或者點擊主菜單上的INFRASTRUCTURE >> Add Hosts,點擊保存按鈕。

image.png

在rancher里默認訪問控制認證機制是沒有打開的,因此我們首先需要通過一些方法打開訪問控制認證,否則任何人都不能訪問GUI。

點擊 >> Admin >> Access Control , 輸入下列的值最后點擊打開認證按鈕去打開它。以我的案例,我通過本地認證的方式打開。

  • Login UserName 輸入你期望的登錄名
  • Full Name 輸入你的全名
  • Password 輸入你期望的密碼
  • Confirm Password 再一次確認密碼
image.png

注銷然后使用新的登錄憑證重新登陸

image.png

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

image.png

怎樣添加主機

點擊注冊你的主機后,它將帶你進入下一個頁面,在那里你能選擇不同云服務提供商的Linux主機。我們將添加一個主機運行Rancher服務,因此選擇自定義選項然后輸入必要的信息。

在第四部輸入你服務器的公有IP,運行第5步列出的命令,最后點擊close按鈕。

image.png

$ 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 頁面。

image.png

怎樣查看容器

只需要點擊下列位置就能列出所有容器。點擊 >> INFRASTRUCTURE >> Containers

image.png

怎樣創建容器

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

點擊 >> INFRASTRUCTURE >> Containers >> “Add Container” 然后輸入每個你需要的信息。 方便測試, 我將創建一個latest標簽的Centos容器。

image.png

在同樣的列表位置,點擊 INFRASTRUCTURE >> Containers

image.png

點擊Container名展示容器的性能信息,如CPU,內存,網絡和存儲。

image.png

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

image.png

如果你想控制臺訪問容器,只需要點擊action按鈕中的Execute Shell選項即可。

image.png

怎樣從應用目錄部署容器

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

image.png

點擊 >> Catalog >> All >> 選擇你需要的應用 >> 最后點擊運行去部署。

image.png

本文由 LCTT 原創編譯,Linux中國 榮譽推出,并由來翻譯,特此轉載。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容