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