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