1. 程式人生 > >surging+CentOS7+docker+rancher2.0 菜鳥部署運行筆記

surging+CentOS7+docker+rancher2.0 菜鳥部署運行筆記

sheet rup 接下來 ipaddr size term serve exp 參數

原文: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 將發布的包上傳到虛擬機上。

一.在使用

SecureCRT上傳下載之前需要給服務器安裝lrzsz

yum -y install lrzsz (註:參數-y中"y"的意思是:當安裝過程提示選擇全部為"yes")

二、命令szrz的使用方法:

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 菜鳥部署運行筆記