沉舟側畔千帆過 病樹床頭萬木春
======
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服務提供了兩個不同的安裝包標簽如stable
和latest
。下列命令將會拉去適合的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