容器管理工具?Rancher的安裝與使用

本章學習目標:
掌握容器管理工具 Rancher 的安裝與使用;掌握基于 Rancher 的應(yīng)用部署、擴容縮容操作。
一、容器管理工具 Rancher 介紹
Rancher 是一個開源的企業(yè)級全棧化容器部署及管理平臺,其實就是一個 Docker 的圖形化管理界面。它為容器提供基礎(chǔ)架構(gòu)服務(wù),可以讓 CNI 兼容的網(wǎng)絡(luò)服務(wù)、存儲服務(wù)、主機管理、負載均衡、防火墻等服務(wù)跨越公有云、私有云、虛擬機、物理機環(huán)境運行,真正實現(xiàn)一鍵式應(yīng)用部署和管理。除此之外它還提供了諸如負載均衡、彈性擴容等高級功能,也是一個比較常用的運維工具。
提示:由于 Rancher 是 Docker 的界面化操作,比如應(yīng)用部署等操作其實都是重復的,為避免端口互相沖突,所以建議在一個新的系統(tǒng)鏡像中進行操作。
二、Rancher 的安裝
第一步:下載 Rancher 鏡像;
docker pull rancher/server
第二步:創(chuàng)建 Rancher 容器;
docker run -di --name=rancher -p 9090:8080 rancher/server
第三步:本地瀏覽器輸入 虛擬機/服務(wù)器 IP:端口號 進行訪問,看到如下界面即 Rancher 安裝成功;
如果訪問不了看看自己創(chuàng)建的容器是否已啟動。

初始界面為英文界面,可在右下角切換中文;

三、Rancher 的初始化
1. 添加環(huán)境
Rancher 支持將資源分組歸屬到多個環(huán)境,每個環(huán)境都有著自己獨立的基礎(chǔ)架構(gòu)資源及服務(wù),并由一個或者多個用戶、團隊/組織管理。比如說:你可以創(chuàng)建獨立的開發(fā)、測試及生產(chǎn)環(huán)境并確保這些環(huán)境之間的安全隔離,將開發(fā)環(huán)境的訪問權(quán)限授予全部人員,而測試環(huán)境僅允許某個小的團隊訪問。
點擊 “Default” --> “環(huán)境管理”,進入環(huán)境界面;

點擊“添加環(huán)境”,輸入環(huán)境名稱和描述即可創(chuàng)建;

如下是我創(chuàng)建的開發(fā)、生產(chǎn)、測試環(huán)境,每個環(huán)境完全分離,在環(huán)境上的配置也不會互相影響;

此時選擇 “Default” 可以進行環(huán)境間的切換;

2. 添加主機
選擇 “基礎(chǔ)架構(gòu)” --> “主機”,點擊添加主機;

默認選擇的是我們的虛擬機/服務(wù)器的站點地址,點擊保存;

之后會進入如下界面;
注意第五步中的代碼,該代碼表示創(chuàng)建一個 Rancher 代理容器,在需要添加 Rancher 服務(wù)的虛擬機/服務(wù)器上運行此命令,則虛擬機/服務(wù)器便會和 Rancher 服務(wù)建立聯(lián)系。

復制該代碼,在需要連接 Rancher 服務(wù)的虛擬機/服務(wù)器上運行,運行成功如下;

此時在 Rancher 的主機界面會增加一個主機;

3. 添加應(yīng)用
此處的應(yīng)用其實就是指我們的某個項目,而某個項目下面又包含著多個服務(wù),換句話說應(yīng)用其實就是服務(wù)的分組;
點擊 “應(yīng)用” --> “全部/用戶”,然后點擊 “添加應(yīng)用” 按鈕;

輸入名稱和描述后點擊 “創(chuàng)建”;

成功后如下;

應(yīng)用創(chuàng)建成功之后,就可以在應(yīng)用上部署服務(wù)了,也就是應(yīng)用部署。
四、應(yīng)用部署
其實在 Rancher 中部署應(yīng)用與傳統(tǒng)方式(命令行操作)最大的區(qū)別就在于在這里所有操作都是在圖形界面中進行的,更為直觀,請看以下部署演示。
1. Mysql 部署
首先下載鏡像 centos/mysql-57-centos7 增加數(shù)據(jù)庫服務(wù);
[root@192 ~]# docker pull centos/mysql-57-centos7 Using default tag: latest latest: Pulling from centos/mysql-57-centos7 d8d02d457314: Pull complete a11069b6e245: Pull complete 596303fb1aa3: Pull complete a29499e779a7: Pull complete 17d1a52c2e00: Pull complete ed24591227fe: Pull complete de0ad46e3ed9: Pull complete c62e4a984a9c: Pull complete 01d54c6bda68: Pull complete Digest: sha256:e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764 Status: Downloaded newer image for centos/mysql-57-centos7:latest docker.io/centos/mysql-57-centos7:latest [root@192 ~]#
然后在我們創(chuàng)建好的應(yīng)用中,點擊 “添加服務(wù)”;

此時就可以以圖形化界面的方式來部署 MySQL 服務(wù)了,進行相關(guān)的設(shè)置;


點擊 “創(chuàng)建”,顯示 “Active” 則說明部署成功;

2. RabbitMQ 部署
下載鏡像 rabbitmq:management;
[root@192 ~]# docker pull rabbitmq:management management: Pulling from library/rabbitmq 7b1a6ab2e44d: Pull complete 37f453d83d8f: Pull complete e64e769bc4fd: Pull complete c288a913222f: Pull complete 12addf9c8bf9: Pull complete eaeb088e057d: Pull complete b63d48599313: Pull complete 05c99d3d2a57: Pull complete 43665bfbc3f9: Pull complete f14c7d7911b1: Pull complete Digest: sha256:4c4b66ad5ec40b2c27943b9804d307bf31c17c8537cd0cd107236200a9cd2814 Status: Downloaded newer image for rabbitmq:management docker.io/library/rabbitmq:management [root@192 ~]#
添加服務(wù),設(shè)置相關(guān)屬性及端口映射(包含端口 5671 5672 4369 15671 15672 25672);

部署成功如下;

在瀏覽器訪問 虛擬機/服務(wù)器 IP:15672;

RabbitMQ 安裝成功。
3. Redis 部署
下載鏡像 redis;
[root@192 ~]# docker pull redis Using default tag: latest latest: Pulling from library/redis a2abf6c4d29d: Pull complete c7a4e4382001: Pull complete 4044b9ba67c9: Pull complete c8388a79482f: Pull complete 413c8bb60be2: Pull complete 1abfd3011519: Pull complete Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339 Status: Downloaded newer image for redis:latest docker.io/library/redis:latest [root@192 ~]#
添加服務(wù),設(shè)置相關(guān)屬性及端口映射(端口 6379);

創(chuàng)建成功如下;

打開本地的 Redis 終端,輸入 redis-cli -h 虛擬機/服務(wù)器 IP 進行連接,如下可正常運行,redis 部署成功;

五、擴容與縮容
擴容就是擴充容器的數(shù)量,縮容反之。在實際的運維過程中,容器需要為網(wǎng)站提供一個后端的支撐,當網(wǎng)站訪問比較高的時候就需要用到更多的容器來形成容器的微服務(wù)集群,以減輕承載壓力。若訪問量不是那么高,則可以縮容釋放出更多的空間出來。
1. 擴容
選擇應(yīng)用,添加新的服務(wù) base-service,但不設(shè)置端口映射,創(chuàng)建完成后默認為一個容器;

此時點擊 “API” --> “WebHooks”;

進入添加接收器界面,選擇添加接收器,如下;

選擇參數(shù)之后,點擊創(chuàng)建,此時就為服務(wù)創(chuàng)建了接收器(擴縮容服務(wù));

其實接收器就是配置了一個 URL,這個 URL 主要用 post 方式觸發(fā),也就是一個接口,使得某一個軟件能夠通過這個地址來調(diào)用 Rancher,Rancher 接收之后觸發(fā),然后進行相應(yīng)的擴縮容操作。
此時回到服務(wù)頁面,可以看到服務(wù)的容器數(shù)量為 1;

復制接收器觸發(fā)地址(接口),使用本地接口測試工具調(diào)用該地址(我使用的是 ApiPost)點擊發(fā)送;

此時服務(wù)的容器數(shù)量便會自動增加。
2. 縮容
縮容操作與擴容相同,此處不再贅述。
六、負載均衡器
當使用擴容和縮容服務(wù)時,我們是不設(shè)置端口映射的,那么就沒辦法直接訪問服務(wù),為了解決此問題,Rancher 提供了負載均衡器。當想要訪問沒有端口映射的服務(wù)時,就需要為該服務(wù)添加負載均衡。
點擊 “添加服務(wù)” --> “添加負載均衡”;

輸入端口以及目標等信息,進行創(chuàng)建;此時就可以通過負載均衡器的特殊服務(wù)來訪問我們的服務(wù)了。
到此這篇關(guān)于容器管理工具 Rancher的安裝與使用的文章就介紹到這了,更多相關(guān)容器管理工具 Rancher內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Jenkins + Docker + ASP.NET Core自動化部署的問題(避免踩坑)
這篇文章主要介紹了關(guān)于Jenkins + Docker + ASP.NET Core自動化部署的問題,本文給大家?guī)砹薲ocker安裝方法及一些注意事項,內(nèi)容有點小長,希望朋友們耐心看完,一定有收獲2021-05-05
Dockerfile與.gitlab-ci.yml的關(guān)系以及構(gòu)建自動化鏡像方式
GitLabCI/CDPipeline中構(gòu)建Docker鏡像的步驟如下:1.了解Dockerfile和.gitlab-ci.yml之間的關(guān)系;2.定義構(gòu)建Docker鏡像的階段;3.在階段中調(diào)用Dockerfile來構(gòu)建鏡像2024-11-11
docker集群Error response from daemon: rpc&
文章描述了在Docker集群中遇到的錯誤信息,并提供了解決辦法,解決辦法包括配置安全組,將Docker Swarm的所有節(jié)點IP添加到安全組中2025-01-01
docker搭建redis主從哨兵集群的實現(xiàn)步驟
本文主要介紹了docker搭建redis主從哨兵集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
Windows系統(tǒng)下裝Docker至D盤/其他盤最新方法(最準確,直接裝)
這篇文章主要介紹了Windows系統(tǒng)下裝Docker至D盤/其他盤的相關(guān)資料,為了避免C盤空間不足的問題,通過修改安裝路徑,可以將Docker的數(shù)據(jù)存儲在D盤的特定文件夾中,從而有效地管理磁盤空間,需要的朋友可以參考下2025-04-04

