zoukankan      html  css  js  c++  java
  • surging+CentOS7+docker+rancher2.0 入门部署教程

    目录

     

    准备工作

    开始干活

    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/   

    docker 安装 rancher2.0 官方文档 https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/

    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 文件所在目录执行(就是发布程序的根目录):

    1 $ docker build -t hanke/surging:v0.9 .      
    2 --hanke/surging:v0.9这里的hanke是我的dockerhub 的账号,请根据自己情况进行修改。

         //此命令是构建一个本地镜像在docker里面 dockerfile 具体的细节可以参考这个老铁的  Docker Dockerfile 定制镜像

    构建好以后执行

    $ docker images   //查看本地所有镜像

    看到我们的本地镜像后说明镜像已经构建成功过,接下将构建好的镜像上传到 docker hub里面以便使用。

    先登录docker hub 执行

    1 $ docker login   --然后输入账号密码登录。
    2 $ docker push  hanke/surging:v0.9     --把镜像上传到自己的dockerhub 里面,登录docker hub 可以看到自己上传的镜像了。

      3.安装 consul

    $ docker pull consul   --下载consul 镜像

    这位老铁的consul 服务发现介绍的还行 consul 服务发现 集群 docker 版

    我提炼了一下 执行一下命令就行了,做两个consul服务小集群,嘻嘻

    由于docker默认创建容器每次重启会重新分配容器内部IP,会导致集群的join的IP 链接不上从而重启失败!

    我们设置docker的consul 容器为固定IP

    docker network create --subnet=172.25.0.0/16  consulnet  --创建自定义网络类型,并且指定网段

      consul 服务端 node1  --请按照顺序执行一下命令

    $ docker run -d --name node1 --net consulnet  --ip 172.25.0.2 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' 

      consul agent -server -node=node1 -bootstrap-expect=2 --(这个2 代表集群至少两个consul服务器才能正常启动,我们暂且就弄两个吧,此服务一定要是固定IP 不然下面的join会重启后因为IP不对儿失败)
      获取 node1 的IP
    $ JOIN_IP="172.25.0.2"    --node1 的ip 

      consul 服务端 node2

    $ docker run -d --name node2 --net consulnet  --ip 172.25.0.3  -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 --net consulnet  --ip 172.25.0.4 -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://www.cnrancher.com/docs/rancher/v2.x/cn/overview/ 
    
    $ 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+EF 的服务实现,请听下回分解。。。

      surging官方QQ群:615562965

  • 相关阅读:
    简单破解.net(C#)程序
    URL和URI
    Java JDK安装和配置(Windows)
    函数式编程语言
    Http
    drf 序列化获取商品分类数据
    npm install 安装依赖报错
    27-----BBS论坛
    26-----BBS论坛
    25-----BBS论坛
  • 原文地址:https://www.cnblogs.com/hankexia/p/9637195.html
Copyright © 2011-2022 走看看