surging+CentOS7+docker+rancher2.0 入门部署教程

准备工作

开发环境  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/installation/basic-environment-configuration/

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 的服务实现,请听下回分解。。。

原文地址:https://www.cnblogs.com/jjg0519/p/10189423.html

时间: 2024-10-11 22:50:48

surging+CentOS7+docker+rancher2.0 入门部署教程的相关文章

Omnet++ 4.0 入门实例教程

http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用.照着做就能完成,有些小地方不同而已 Omnet++ 4.0 入门实例教程根据http://omnest.com/webdemo/ide 上的实例,自己动手做了做.新版本的4.0 跟它视频上的版本有些差别,配图说明一下我的操作过程,供大家一起学习.现在开始.首先,开发环境选择simulation 的视

Rancher2.0中部署Longhorn分布式存储实验

目录 1.简介 2.实验环境 3.应用商店中部署longhorn 4.创建工作负载,使用longhorn存储 5.查看longhorn UI 6.注意事项 1.简介: Longhorn是RancherLab为K8S环境研发的一种分布式块存储系统.Longhorn轻便易用,你可以用Kubectl命令,在一个现有的K8S集群上快速部署.结合Rancher2.0环境中的应用商店,还可以实现一键部署,为K8S集群环境提供动态的StorageClass持久卷支持. Longhorn使用容器和微服务方式来实

DWR 3.0 入门示例教程(简单实例)

DWR(Direct Web Remoting) DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible. Dwr能让在服务器端的java代码和浏览器客户端的javascript代码尽可能简单的相互调用. DWR is Easy Ajax for Java! 官网:http://di

Centos7系统安装nextcloud13.0.1,详细教程

首先,说一说这款开源软件的原理,主要核心是PHP,网页的代码也全部都是PHP的.为了防止后来人上当受坑,首先说一下本人是个小白,所以所有软件都均采用yum的方式,这样也比较适合我这样的新手.这里面特提一下一个坑,就是一定记得要关闭 防火墙,selinux.其次,就是要安装nginx和mysql数据库.安装nextcloud的前提服务器或者虚拟机上没有安装nginx.mysql.php已安装的请卸载干净一.首先查看防火墙和selinux是否关闭 getenforcesystemctl status

Solr7.3.0入门教程,部署Solr到Tomcat,配置Solr中文分词器

solr 基本介绍 Apache Solr (读音: SOLer) 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.Apache Solr 中存储的资源是以 Document 为对象进行存储的.每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性.Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:id进行描述.Solr是

docker入门实践教程 -date: 20191108

docker入门实践教程 -date: 2019108 1.docker架构 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版) 容器非常适合持续集成和持续交付(CI / CD)工作流程.Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展

ansible 部署基于centos7+docker+nginx+openssl+v2版私有仓库

ansible 部署基于centos7+docker.1.12+nginx+openssl+v2版私有仓库 1.申请域名证书不做详细教程网络上很多 2.ansible-playbook 结构 . ├── hosts # 需要安装服务器IP地址 ├── roles │   ├── docker │   │   ├── defaults │   │   ├── files │   │   │   └── dockerkey #证书 文件加 │   │   │       ├── domain.crt

Rancher2.0中使用外置NFS存储部署Nginx实验

目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目/命名空间中创建数据卷(PVC) 2.3 部署工作负载(Nginx)时使用PVC 3.验证 3.1 在NFS目录中创建网页文件 3.2 访问网页   简述: Rancher2.0是一款非常棒的.开源免费的.易学易用的.企业级K8S容器云管理平台.有别于之前的Rancher1.6版,Rancher2.

又一篇Centos7下的asp.net core部署教程

原文:又一篇Centos7下的asp.net core部署教程 历程2个多月的学习,我终于从PHP转.Net开发了. 虽然网上已经有很多关于asp.net core在linux下的部署教程了,但我还是想写一篇,主要增强我自己的记忆. 搭建的环境为Centos7 + .net core  + nginx + mysql5.7,我的网站是asp.net core后端,vue前端,数据据mysql: 第一次搭建时遇到不少的坑,我会在下面也说到 前提,你有一台可以联网,有root账号密码,有开通ssh的