本章學(xué)習(xí)目標(biāo):
- 掌握容器管理工具 Rancher 的安裝與使用;
- 掌握基于 Rancher 的應(yīng)用部署、擴(kuò)容縮容操作。
目錄
一、容器管理工具 Rancher 介紹
二、Rancher 的安裝
三、Rancher 的初始化
1. 添加環(huán)境
2. 添加主機(jī)
3. 添加應(yīng)用
四、應(yīng)用部署
1. Mysql 部署
2. RabbitMQ 部署
3. Redis 部署
四、擴(kuò)容與縮容
1. 擴(kuò)容
2. 縮容
五、負(fù)載均衡器
一、容器管理工具 Rancher 介紹
Rancher 是一個(gè)開(kāi)源的企業(yè)級(jí)全?;萜鞑渴鸺肮芾砥脚_(tái),其實(shí)就是一個(gè) Docker 的圖形化管理界面。它為容器提供基礎(chǔ)架構(gòu)服務(wù),可以讓 CNI 兼容的網(wǎng)絡(luò)服務(wù)、存儲(chǔ)服務(wù)、主機(jī)管理、負(fù)載均衡、防火墻等服務(wù)跨越公有云、私有云、虛擬機(jī)、物理機(jī)環(huán)境運(yùn)行,真正實(shí)現(xiàn)一鍵式應(yīng)用部署和管理。除此之外它還提供了諸如負(fù)載均衡、彈性擴(kuò)容等高級(jí)功能,也是一個(gè)比較常用的運(yùn)維工具。
提示:由于 Rancher 是 Docker 的界面化操作,比如應(yīng)用部署等操作其實(shí)都是重復(fù)的,為避免端口互相沖突,所以建議在一個(gè)新的系統(tǒng)鏡像中進(jìn)行操作。
二、Rancher 的安裝
第一步:下載 Rancher 鏡像;
docker pull rancher/server
第二步:創(chuàng)建 Rancher 容器;
docker run -di --name=rancher -p 9090:8080 rancher/server
第三步:本地瀏覽器輸入 虛擬機(jī)/服務(wù)器 IP:端口號(hào)?進(jìn)行訪問(wèn),看到如下界面即 Rancher 安裝成功;
如果訪問(wèn)不了看看自己創(chuàng)建的容器是否已啟動(dòng)。
初始界面為英文界面,可在右下角切換中文;
三、Rancher 的初始化
1. 添加環(huán)境
Rancher 支持將資源分組歸屬到多個(gè)環(huán)境,每個(gè)環(huán)境都有著自己獨(dú)立的基礎(chǔ)架構(gòu)資源及服務(wù),并由一個(gè)或者多個(gè)用戶、團(tuán)隊(duì)/組織管理。比如說(shuō):你可以創(chuàng)建獨(dú)立的開(kāi)發(fā)、測(cè)試及生產(chǎn)環(huán)境并確保這些環(huán)境之間的安全隔離,將開(kāi)發(fā)環(huán)境的訪問(wèn)權(quán)限授予全部人員,而測(cè)試環(huán)境僅允許某個(gè)小的團(tuán)隊(duì)訪問(wèn)。
點(diǎn)擊 “Default” --> “環(huán)境管理”,進(jìn)入環(huán)境界面;
點(diǎn)擊“添加環(huán)境”,輸入環(huán)境名稱和描述即可創(chuàng)建;
如下是我創(chuàng)建的開(kāi)發(fā)、生產(chǎn)、測(cè)試環(huán)境,每個(gè)環(huán)境完全分離,在環(huán)境上的配置也不會(huì)互相影響;
此時(shí)選擇 “Default” 可以進(jìn)行環(huán)境間的切換;
2. 添加主機(jī)
選擇 “基礎(chǔ)架構(gòu)” --> “主機(jī)”,點(diǎn)擊添加主機(jī);
默認(rèn)選擇的是我們的虛擬機(jī)/服務(wù)器的站點(diǎn)地址,點(diǎn)擊保存;
之后會(huì)進(jìn)入如下界面;
注意第五步中的代碼,該代碼表示創(chuàng)建一個(gè) Rancher 代理容器,在需要添加 Rancher 服務(wù)的虛擬機(jī)/服務(wù)器上運(yùn)行此命令,則虛擬機(jī)/服務(wù)器便會(huì)和 Rancher 服務(wù)建立聯(lián)系。
復(fù)制該代碼,在需要連接 Rancher 服務(wù)的虛擬機(jī)/服務(wù)器上運(yùn)行,運(yùn)行成功如下;
此時(shí)在 Rancher 的主機(jī)界面會(huì)增加一個(gè)主機(jī);
3. 添加應(yīng)用
此處的應(yīng)用其實(shí)就是指我們的某個(gè)項(xiàng)目,而某個(gè)項(xiàng)目下面又包含著多個(gè)服務(wù),換句話說(shuō)應(yīng)用其實(shí)就是服務(wù)的分組;
點(diǎn)擊 “應(yīng)用” --> “全部/用戶”,然后點(diǎn)擊 “添加應(yīng)用” 按鈕;
輸入名稱和描述后點(diǎn)擊 “創(chuàng)建”;
成功后如下;
應(yīng)用創(chuàng)建成功之后,就可以在應(yīng)用上部署服務(wù)了,也就是應(yīng)用部署。
四、應(yīng)用部署
其實(shí)在 Rancher 中部署應(yīng)用與傳統(tǒng)方式(命令行操作)最大的區(qū)別就在于在這里所有操作都是在圖形界面中進(jìn)行的,更為直觀,請(qǐng)看以下部署演示。
1. Mysql 部署
首先下載鏡像 centos/mysql-57-centos7 增加數(shù)據(jù)庫(kù)服務(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)用中,點(diǎn)擊 “添加服務(wù)”;
此時(shí)就可以以圖形化界面的方式來(lái)部署 MySQL 服務(wù)了,進(jìn)行相關(guān)的設(shè)置;
點(diǎn)擊 “創(chuàng)建”,顯示 “Active” 則說(shuō)明部署成功;
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èn) 虛擬機(jī)/服務(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)建成功如下;
打開(kāi)本地的 Redis 終端,輸入 redis-cli -h 虛擬機(jī)/服務(wù)器 IP 進(jìn)行連接,如下可正常運(yùn)行,redis 部署成功;
四、擴(kuò)容與縮容
擴(kuò)容就是擴(kuò)充容器的數(shù)量,縮容反之。在實(shí)際的運(yùn)維過(guò)程中,容器需要為網(wǎng)站提供一個(gè)后端的支撐,當(dāng)網(wǎng)站訪問(wèn)比較高的時(shí)候就需要用到更多的容器來(lái)形成容器的微服務(wù)集群,以減輕承載壓力。若訪問(wèn)量不是那么高,則可以縮容釋放出更多的空間出來(lái)。
1. 擴(kuò)容
選擇應(yīng)用,添加新的服務(wù) base-service,但不設(shè)置端口映射,創(chuàng)建完成后默認(rèn)為一個(gè)容器;
此時(shí)點(diǎn)擊 “API” --> “WebHooks”;
進(jìn)入添加接收器界面,選擇添加接收器,如下;
選擇參數(shù)之后,點(diǎn)擊創(chuàng)建,此時(shí)就為服務(wù)創(chuàng)建了接收器(擴(kuò)縮容服務(wù));
其實(shí)接收器就是配置了一個(gè) URL,這個(gè) URL 主要用 post 方式觸發(fā),也就是一個(gè)接口,使得某一個(gè)軟件能夠通過(guò)這個(gè)地址來(lái)調(diào)用 Rancher,Rancher 接收之后觸發(fā),然后進(jìn)行相應(yīng)的擴(kuò)縮容操作。
此時(shí)回到服務(wù)頁(yè)面,可以看到服務(wù)的容器數(shù)量為 1;
復(fù)制接收器觸發(fā)地址(接口),使用本地接口測(cè)試工具調(diào)用該地址(我使用的是 ApiPost)點(diǎn)擊發(fā)送;
此時(shí)服務(wù)的容器數(shù)量便會(huì)自動(dòng)增加。
2. 縮容
縮容操作與擴(kuò)容相同,此處不再贅述。
五、負(fù)載均衡器
當(dāng)使用擴(kuò)容和縮容服務(wù)時(shí),我們是不設(shè)置端口映射的,那么就沒(méi)辦法直接訪問(wèn)服務(wù),為了解決此問(wèn)題,Rancher 提供了負(fù)載均衡器。當(dāng)想要訪問(wèn)沒(méi)有端口映射的服務(wù)時(shí),就需要為該服務(wù)添加負(fù)載均衡。
點(diǎn)擊 “添加服務(wù)” --> “添加負(fù)載均衡”;
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-421213.html
輸入端口以及目標(biāo)等信息,進(jìn)行創(chuàng)建;此時(shí)就可以通過(guò)負(fù)載均衡器的特殊服務(wù)來(lái)訪問(wèn)我們的服務(wù)了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-421213.html
到了這里,關(guān)于【云原生 ? DevOps】一文掌握容器管理工具 Rancher的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!