surging+CentOS7+docker+rancher2.0 菜鳥部署運行筆記
版權聲明:喜歡的就轉載/收藏吧 https://blog.csdn.net/q5934/article/details/82661250
目錄
?
準備工作
開始幹活
1.從github 獲取surging源碼
2.發布Surging.ApiGateway網關,
3.安裝 consul
?4.安裝rabbitMQ
5.安裝rancher 2.0 (我們嘗個鮮)
6.創建rancher本地集群,並運行surging網關服務
接來下實現surging的服務。。
準備工作
開發環境? Visual Studio 2017 15.5
運行環境? 虛擬機CentOS?7+Docker+Rancher 2.0+Consul+RabbmitMQ
項目下載地址? https://github.com/dotnetcore/surging
CentOS?7安裝 Docker教程 https://docs.docker.com/install/linux/docker-ce/centos/
DockerHub 註冊一個賬號用於管理我們自己的鏡像,rancher裏面的鏡像要從這裏面下載 https://hub.docker.com/
開始幹活
1.從github 獲取surging源碼
將項目拉下來,用VS2017打開生成解決方案,生成沒毛病就繼續下一步,打開 Surging.ApiGateway 項目的Program.cs ?
接下來打開 Surging.ApiGateway下的 Configs文件夾下的gatewaySettings.json 文件,這個是網關的配置文件下面是重要的兩個配置信息。
2.發布Surging.ApiGateway網關,
要把Dockerfile 文件也添加去用於docker build。我這邊是通過SecureCRT 將發布的包上傳到虛擬機上。
一.在使用
yum -y install lrzsz (註:參數-y中"y"的意思是:當安裝過程提示選擇全部為"yes")
二、命令sz、rz的使用方法:
rz中的r意為received(接收),輸入rz時、意為服務器接收文件,既將文件從本地上傳到服務器。
sz中的s意為send(發送),輸入sz時、意為服務器要發送文件,既從服務器發送文件到本地,或是說本地從服務器上下載文件。
註:不論是send還是received,動作都是在服務器上發起的。
最好是把發布程序打包成zip 上傳,這樣不用糾結子文件夾不能上傳問題,然後在虛擬機上進行解壓。
? ? 在 Dockerfile 文件所在目錄執行(就是發布程序的根目錄):
$ docker build -t hanke/surging:v0.9 .?????
--hanke/surging:v0.9這裏的hanke是我的dockerhub 的賬號,請根據自己情況進行修改。
? ? ?//此命令是構建一個本地鏡像在docker裏面 dockerfile 具體的細節可以參考這個老鐵的??Docker Dockerfile 定制鏡像
構建好以後執行
$ docker images?? //查看本地所有鏡像
看到我們的本地鏡像後說明鏡像已經構建成功過,接下將構建好的鏡像上傳到 docker hub裏面以便使用。
先登錄docker hub 執行
$ docker login? --然後輸入賬號密碼登錄。
$ docker push? hanke/surging:v0.9?
--把鏡像上傳到自己的dockerhub 裏面,登錄docker hub 可以看到自己上傳的鏡像了。
? 3.安裝 consul
$ docker pull consul??//下載consul 鏡像
?這位老鐵的consul 服務發現介紹的還行 consul 服務發現 集群 docker 版
我提煉了一下 執行一下命令就行了,做兩個consul服務小集群,嘻嘻
consul 服務端 node1
$ docker run -d --name node1 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘
\consul agent -server? -node=node1 -bootstrap-expect=2?
--(這個2 代表集群至少兩個consul服務器才能正常啟動,我們暫且就弄兩個吧)
獲取 node1 的IP
$ JOIN_IP="$(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ node1)"
consul 服務端 node2
$ docker run -d --name node2 -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘
\consul agent -server? -node=node2 -join $JOIN_IP
consul 客戶端node11 帶UI?
$ docker run -d --name node11 -p 8400:8400 -p 8500:8500 -p 8600:53/udp
\-e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘
\consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP
瀏覽器打開 CentOS 7 IP:8500?
--CentOS 7 查看本機IP
$ ip addr
效果如下,裏面有兩個節點在裏面了
? 4.安裝rabbitMQ
$ docker pull rabbitmq:3-management?
--拉取rabbitmq的鏡像,後面不帶management,啟動rabbitmq後是無法打開管理界面的,所以我們要下載帶management插件的rabbitmq.
$ docker run -d --name rabbitmq
\--publish 5671:5671?
\--publish 5672:5672
\--publish 4369:4369
\--publish 25672:25672
\--publish 15671:15671
\--publish 15672:15672 ??rabbitmq:3-management?
--這個是使用的默認賬號密碼 guest?? guest
瀏覽器打開CentOS?7 ip:15672
5.安裝rancher 2.0 (我們嘗個鮮)
$ docker pull rancher/rancher?
--拉取rancher 2.x ?官方文檔 https://rancher.com/docs/rancher/v2.x/en/
$ docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest???
--運行單節點rancher
瀏覽器打開 CentOS7 IP:80? 2.x 是通過https 連接的繼續訪問即可,設置好admin的 密碼登錄進去。
效果圖如下,右下角可以設置為中文
至此環境已經搭建完畢,開始創建surging網關吧,期待ing。
6.創建rancher本地集群,並運行surging網關服務
???? 1.點擊添加集群 選擇
? ? ?2.設置一個集群名稱 然後一切默認,點擊 下一步 ,? 主機角色全部勾上 再把命令在docker 裏面執行。
初次執行時間有點長需要下載相關鏡像run起來? 成功後 ,點擊完成就能看到我們的本機集群了,興奮ing。。
3.創建surging網關服務 ,點擊 default.
後點擊?鏡像名稱就是 剛剛我們上傳的 鏡像名稱 我的是 hanke/surging:v0.9,請根據自己的鏡像名稱填寫。
點擊啟動,祈禱吧少年。成功啟動效果如下
在瀏覽器 輸入 CentOS7 ip:30000 查看網關界面
至此surging 網關已經啟動成功!!!!
接來下實現surging的服務。。
surging+CentOS7+docker+rancher2.0 菜鳥部署運行筆記