摘要:老徐是一個(gè)開(kāi)源的企業(yè)級(jí)全棧化容器部署及管理平臺(tái)。為容器提供一攬子基礎(chǔ)架構(gòu)服務(wù)兼容的網(wǎng)絡(luò)服務(wù)存儲(chǔ)服務(wù)主機(jī)管理負(fù)載均衡防護(hù)墻讓上述服務(wù)跨越公有云私有云虛擬機(jī)物理機(jī)環(huán)境運(yùn)行,真正實(shí)現(xiàn)一鍵式應(yīng)用部署和管理。已有超過(guò)萬(wàn)次下載,生產(chǎn)環(huán)境的應(yīng)用。
老徐RancherSunday, 8 April 2018
Rancher是一個(gè)開(kāi)源的企業(yè)級(jí)全棧化容器(Docker)部署及管理平臺(tái)。https://www.cnrancher.com
Rancher為容器提供一攬子基礎(chǔ)架構(gòu)服務(wù):CNI兼容的網(wǎng)絡(luò)服務(wù)、存儲(chǔ)服務(wù)、主機(jī)管理、負(fù)載均衡、防護(hù)墻……
Rancher讓上述服務(wù)跨越公有云、私有云、虛擬機(jī)、物理機(jī)環(huán)境運(yùn)行,真正實(shí)現(xiàn)一鍵式應(yīng)用部署和管理。
已有超過(guò)8000萬(wàn)次下載,15000+生產(chǎn)環(huán)境的應(yīng)用。搭建
虛擬機(jī)搭建 Rancher 環(huán)境
環(huán)境說(shuō)明:
Mac
虛擬機(jī)采用 VirtualBox
容器引擎采用 Docker 17.12.1-ce
容器云平臺(tái)采用 Rancher 1.6.15
最終效果:
可以在 Rancher 云平臺(tái)中部署 Docker 應(yīng)用
預(yù)備 安裝 Docker 環(huán)境請(qǐng)首先下載并安裝 Docker Toolbox,Docker Toolbox中包含了VirtualBox,VirtualBox可以也多帶帶安裝最新的版本。
Mac OS X 10.12.6:
VirtualBox - v5.2.2:虛擬機(jī)
Docker Toolbox - v1.10.3:Docker 工具箱,包含了 VirtualBox
可選:更改 VirtualBox 虛擬機(jī)的存儲(chǔ)位置(免得占用太多主存儲(chǔ)器的空間)
$ export MACHINE_STORAGE_PATH="http://Volumes/Cloud/Virtual Machines/docker/"下載虛擬機(jī)鏡像
下載創(chuàng)建虛擬機(jī)用的鏡像文件~/Downloads/boot2docker.iso,因?yàn)楹竺鏁?huì)多次用到
https://github.com/boot2docker/boot2docker/releases/download/v17.12.1-ce/boot2docker.iso
這里采用docker-17.12.1-ce,不要用過(guò)新的版本,rancher 可能不支持創(chuàng)建 Rancher 管理服務(wù)器 創(chuàng)建虛擬機(jī)
創(chuàng)建虛擬機(jī) rancher 并登錄
$ docker-machine create -d virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso rancher $ docker-machine ip rancher 192.168.99.88 $ docker-machine ssh rancher
這里的 IP 192.168.99.88 就是 rancher 管理服務(wù)器的地址docker-machine ssh rancher 表示登錄到虛擬機(jī)
由于眾所周知的原因,Docker 下載鏡像需要使用鏡像服務(wù)器
在虛擬機(jī)內(nèi)運(yùn)行修改Docker的啟動(dòng)配置,加上registry-mirrors
配置(在虛擬機(jī)中執(zhí)行)
$ sudo vi /etc/docker/daemon.json
{ "registry-mirrors" : ["https://xxxxx.mirror.aliyuncs.com"] }
https://xxxxx.mirror.aliyuncs... 是你自己私有的阿里云鏡像地址,請(qǐng)去下列地址獲得https://cr.console.aliyun.com/
重啟(在虛擬機(jī)中執(zhí)行)
$ sudo reboot now
重新進(jìn)入虛擬機(jī)
$ docker-machine ssh rancher
啟動(dòng) Rancher Server(在虛擬機(jī)中執(zhí)行)
$ docker run -d --restart=unless-stopped --name rancher -p 8888:8080 rancher/server
Rancher Server 本身是一個(gè) Docker 容器
啟動(dòng)時(shí)間有點(diǎn)長(zhǎng),請(qǐng)耐心等待,可以用日志查看一下進(jìn)度(在虛擬機(jī)中執(zhí)行)
$ docker logs -f rancher
瀏覽器訪問(wèn)
http://192.168.99.88:8888
如果不能訪問(wèn),可能是還沒(méi)有啟動(dòng)完畢,請(qǐng)等待一段時(shí)間
首次登錄,還沒(méi)有配置訪問(wèn)權(quán)限,為了安全起見(jiàn),首先點(diǎn)擊上面的 ACCESS CONTROL 來(lái)新建一個(gè)本地賬號(hào)和密碼。
創(chuàng)建 Rancher 節(jié)點(diǎn)Rancher 管理服務(wù)器連接和控制 Rancher 節(jié)點(diǎn)(Agent Host),要求這些 Host 上安裝了 Docker 并且啟動(dòng)了 rancher/agent 容器
這里創(chuàng)建一個(gè)節(jié)點(diǎn)rancher01
$ docker-machine create -d virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso rancher01 $ docker-machine ssh rancher01
由于眾所周知的原因,Docker 下載鏡像需要使用鏡像服務(wù)器
在虛擬機(jī)內(nèi)運(yùn)行修改Docker的啟動(dòng)配置,加上registry-mirrors
配置(在虛擬機(jī)中執(zhí)行)
$ sudo vi /etc/docker/daemon.json
{ "registry-mirrors" : ["https://xxxxx.mirror.aliyuncs.com"] }
https://xxxxx.mirror.aliyuncs... 是你自己私有的阿里云鏡像地址,請(qǐng)去下列地址獲得https://cr.console.aliyun.com/
重啟(在虛擬機(jī)中執(zhí)行)
$ sudo reboot now
重新進(jìn)入虛擬機(jī)
$ docker-machine ssh rancher01
從 Rancher Server Web 界面點(diǎn)擊 Infrastructure -> Hosts 并且復(fù)制步驟 5 的命令行代碼,類似如下:
sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.10 http://192.168.99.88:8080/v1/scripts/16E1281C7B7053B1CA74:1514678400000:nx3k1p2p2AvJnWR4WHCTBfznFZ8
上述代碼即用于 rancher/agent 主機(jī)注冊(cè)到服務(wù)器的代碼
特別注意:
步驟 4 的 IP 地址最好指定一下,否則可能出現(xiàn)兩個(gè)節(jié)點(diǎn)自動(dòng)檢測(cè)到的 ip 一樣,導(dǎo)致后面的 ipsec 不正常
在虛擬機(jī)內(nèi)運(yùn)行上述代碼
$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.10 http://192.168.99.88:8080/v1/scripts/16E1281C7B7053B1CA74:1514678400000:nx3k1p2p2AvJnWR4WHCTBfznFZ8
同樣的操作創(chuàng)建多個(gè)Rancher節(jié)點(diǎn)
從 Rancher Server Web 界面點(diǎn)擊 Infrastructure -> Hosts 即可看到新節(jié)點(diǎn)已經(jīng)加入進(jìn)來(lái)!
檢查是否正常如果一切正常則:
每個(gè) rancher 節(jié)點(diǎn)上 healthycheck、ipsec 等服務(wù)都應(yīng)該運(yùn)行正常,即全不是綠色的
每個(gè) Host 的 IP 地址唯一
可以看到各個(gè)節(jié)點(diǎn)分配的IP 地址 10.42.x.x
進(jìn)入任意一個(gè)節(jié)點(diǎn)后可以 ping 通另外一個(gè)節(jié)點(diǎn)的 10.42.x.x 地址
如果healthycheck、ipsec 服務(wù)不正常,老在重啟
則有可能是增加節(jié)點(diǎn)的時(shí)候沒(méi)有指定 IP,導(dǎo)致 rancher 自動(dòng)檢測(cè)出來(lái)的 IP 是錯(cuò)誤的?。。?p>請(qǐng)檢查頭部的 IP 地址是否重復(fù)了,是否正確嘗試創(chuàng)建一個(gè)應(yīng)用(Stack)
直接啟動(dòng)一個(gè) nginx 鏡像,看是否能正常訪問(wèn)
從 Rancher Server Web 界面點(diǎn)擊 Stacks->Add Stack
Rancher 中的應(yīng)用叫做 Stack,一個(gè) Stack 可以創(chuàng)建多個(gè)服務(wù)
點(diǎn)擊 Add Stack
輸入 name = nginx
點(diǎn)擊 Create
點(diǎn)擊 Add Service
輸入 name = nginx,Select Image = nginx
這里的 Select Image 即 docker 鏡像的名稱,你可以跑其他 docker 服務(wù)
點(diǎn)擊 Port Map,暴露端口 8080:80
點(diǎn)擊 Create
等待啟動(dòng)完成
啟動(dòng)完成后,點(diǎn)應(yīng)用nginx進(jìn)去,再點(diǎn)擊某個(gè)服務(wù)nginx,點(diǎn) Ports 這個(gè)Tab頁(yè),上會(huì)顯示該服務(wù)的IP地址,直接點(diǎn)擊這個(gè)IP地址即可訪問(wèn)這個(gè)服務(wù)
Port | Host IP |
---|---|
8080 | 192.168.99.101 |
結(jié)果
Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.測(cè)試 LB 功能
Rancher 的 Load Balancer 其實(shí)質(zhì)是一個(gè) Haproxy
還是剛才的服務(wù),在 Add Service 那個(gè)地方點(diǎn)擊 Add Load Balancer添加一個(gè) LB 服務(wù)
名字隨便取,比如 nginx-lb
Target 里選剛才那個(gè) Nginx 服務(wù)
左邊的 Port 是對(duì)外的端口,輸入 8888,右邊的 Port 是原服務(wù)的監(jiān)聽(tīng)端口,輸入80
注意:這里不需要原服務(wù)暴露端口,只需要原始的監(jiān)聽(tīng)端口即可
點(diǎn)擊 Create
等待啟動(dòng)完成
啟動(dòng)完成后,點(diǎn)應(yīng)用nginx進(jìn)去,再點(diǎn)擊某個(gè)服務(wù)nginx-lb,點(diǎn) Ports 這個(gè)Tab頁(yè),上會(huì)顯示該服務(wù)的IP地址,直接點(diǎn)擊這個(gè)IP地址即可訪問(wèn)這個(gè)服務(wù)
Port | Host IP |
---|---|
8888 | 192.168.99.101 |
同時(shí),為了測(cè)試LB功能,我們把剛才的 Nginx 服務(wù)去掉端口映射并增加到2個(gè)節(jié)點(diǎn)
點(diǎn)服務(wù)進(jìn)去
右上角點(diǎn) Upgrade
去掉端口映射
點(diǎn) Upgrade 保存
點(diǎn)左邊的 Scale ,變成兩個(gè)節(jié)點(diǎn)
好了,等待一切調(diào)整完畢
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27270.html
摘要:對(duì)企業(yè)而言,很難確定哪個(gè)容器管理工具是最好的。在選擇容器管理平臺(tái)時(shí),技術(shù)差異雖然不是唯一的,但卻是最大的影響因素之一。在選擇容器管理平臺(tái)以及其他工具時(shí),公司主要考量的指標(biāo)是產(chǎn)品的穩(wěn)定性。 對(duì)IT企業(yè)而言,很難確定哪個(gè)容器管理工具是最好的。對(duì)某一個(gè)企業(yè)來(lái)說(shuō)復(fù)雜的東西,或許對(duì)另一個(gè)企業(yè)而言是靈活且易于擴(kuò)展的。IT團(tuán)隊(duì)一般是通過(guò)考量對(duì)工具的支持、交互操作性這些方面,來(lái)確定哪一個(gè)工具是適合自己...
摘要:降低對(duì)外包服務(wù)團(tuán)隊(duì)的依賴,提高業(yè)務(wù)的敏捷性研發(fā)部門實(shí)現(xiàn)測(cè)試環(huán)境自動(dòng)創(chuàng)建配置和郵件通知,滿足持續(xù)集成和持續(xù)交付的要求,可自動(dòng)并快速獲得基礎(chǔ)架構(gòu)應(yīng)用配置和代碼等各個(gè)關(guān)鍵環(huán)節(jié)的反饋。 2016年對(duì)Rancher Labs而言是太重要也太精彩的一年 Rancher 1.0,Rancher 1.1,Rancher 1.2三次重大的版本發(fā)布與更新Rancher的累積下載量已達(dá)1600萬(wàn) 在中國(guó)海航...
摘要:年正在柏林盛大舉行,來(lái)自等多個(gè)開(kāi)源云原生社區(qū)的領(lǐng)先技術(shù)專家正匯聚一堂,以進(jìn)一步推動(dòng)云原生計(jì)算的教育和發(fā)展。例如,你還需要諸如負(fù)載均衡器和的服務(wù)來(lái)運(yùn)行應(yīng)用程序。負(fù)載均衡器可以進(jìn)行高級(jí)定制,以滿足用戶的各類需求。 想要在生產(chǎn)環(huán)境中成功部署容器,你需要的不僅僅是容器編排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大舉行,來(lái)自Fluented、Kubern...
摘要:年正在柏林盛大舉行,來(lái)自等多個(gè)開(kāi)源云原生社區(qū)的領(lǐng)先技術(shù)專家正匯聚一堂,以進(jìn)一步推動(dòng)云原生計(jì)算的教育和發(fā)展。例如,你還需要諸如負(fù)載均衡器和的服務(wù)來(lái)運(yùn)行應(yīng)用程序。負(fù)載均衡器可以進(jìn)行高級(jí)定制,以滿足用戶的各類需求。 想要在生產(chǎn)環(huán)境中成功部署容器,你需要的不僅僅是容器編排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大舉行,來(lái)自Fluented、Kubern...
摘要:美國(guó)德克薩斯州奧斯汀市當(dāng)?shù)貢r(shí)間月日,在領(lǐng)域頂級(jí)盛會(huì)上,所屬公司與合作,宣布推出一個(gè)基于和的應(yīng)用程序交付平臺(tái)云原生平臺(tái),簡(jiǎn)稱。計(jì)劃于明年年初正式發(fā)布的,包含了在生產(chǎn)中管理多個(gè)集群所需的一切。 美國(guó)德克薩斯州奧斯汀市當(dāng)?shù)貢r(shí)間12月5日,在Kubernetes領(lǐng)域頂級(jí)盛會(huì)KubeCon上,Ubuntu所屬公司Canonical與Rancher Labs合作,宣布推出一個(gè)基于Ubuntu、Ku...
閱讀 1894·2021-11-17 09:33
閱讀 6487·2021-10-12 10:20
閱讀 2309·2021-09-22 15:50
閱讀 1798·2021-09-22 15:10
閱讀 631·2021-09-10 10:51
閱讀 636·2021-09-10 10:50
閱讀 3058·2021-08-11 11:19
閱讀 1788·2019-08-30 15:55