目錄html
準備工做node
開始幹活linux
2.發佈Surging.ApiGateway網關,github
3.安裝 consuldocker
4.安裝rabbitMQjson
5.安裝rancher 2.0 (咱們嚐個鮮)bootstrap
6.建立rancher本地集羣,並運行surging網關服務centos
開發環境 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/
將項目拉下來,用VS2017打開生成解決方案,生成沒毛病就繼續下一步,打開 Surging.ApiGateway 項目的Program.cs
接下來打開 Surging.ApiGateway下的 Configs文件夾下的gatewaySettings.json 文件,這個是網關的配置文件下面是重要的兩個配置信息。
要把Dockerfile 文件也添加去用於docker build。我這邊是經過SecureCRT 將發佈的包上傳到虛擬機上。
一.在使用SecureCRT上傳下載以前須要給服務器安裝lrzsz:
yum -y install lrzsz (注:參數-y中"y"的意思是:當安裝過程提示選擇所有爲"yes")
2、命令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 能夠看到本身上傳的鏡像了。
$ 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
效果以下,裏面有兩個節點在裏面了
$ 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
$ 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。
1.點擊添加集羣 選擇
2.設置一個集羣名稱 而後一切默認,點擊 下一步 , 主機角色所有勾上 再把命令在docker 裏面執行。
初次執行時間有點長鬚要下載相關鏡像run起來 成功後 ,點擊完成就能看到咱們的本機集羣了,興奮ing。。
3.建立surging網關服務 ,點擊 default.
後點擊 鏡像名稱就是 剛剛咱們上傳的 鏡像名稱 個人是 hanke/surging:v0.9,請根據本身的鏡像名稱填寫。
點擊啓動,祈禱吧少年。成功啓動效果以下
在瀏覽器 輸入 CentOS7 ip:30000 查看網關界面
至此surging 網關已經啓動成功!!!!