Skip to content

Commit 4bc84f2

Browse files
committed
demo
1 parent 5c42648 commit 4bc84f2

11 files changed

+86
-31
lines changed

05k8s(192.168.0.20)/01admin/08initcommonComp.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ NODE_NAME="ms02 ms05 ms06 ms07 ms08 ms09 ms10 ms11 ms12 ms13 ms14 ms
1818
yum install traceroute -y ;
1919
yum install mtr -y ;
2020
21-
2221
EOF
2322

2423
for ip in $NODE_IPS ;do

doc/01pic/20171122-1723512x.png

1 MB
Loading

doc/01pic/20171122-1744532x.png

169 KB
Loading

doc/01pic/20171122-1746242x.png

108 KB
Loading

doc/01pic/20171122-1747232x.png

298 KB
Loading

doc/01pic/20171122-1748372x.png

275 KB
Loading

doc/01pic/20171122-1752362x.png

863 KB
Loading

doc/01springboot-docker-starter.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
# Spring boot+docker 半自动化部署 (一)、引言
3+
4+
微服务十分流行,基于微服务开发的项目越来越多,如何把开发的微服务部署到服务器上是一个不小的难题。现在有很多解决方案:
5+
6+
## (1) gitlab+jenkens
7+
8+
采用gitlab+jenkens等实现自动编译发布,无论是采用触发式(提交代码、定时)还是手动到jenkens的发布,对于开发者来讲都是不方便,需要部署集成gitlab+jenkens,而且很多时候公司使用的是svn。
9+
10+
另外在一般的公司很难保证提交的代码都能运行得起来。我所在的公司大部分情况下自动发布的项目是跑不起来(当然和公司的制度的有关),在我接触的某大型公司中技术负责人讲过,他花了一年时才把提交代码这件 事弄得较顺。
11+
12+
所以很多人讲Devops(包括自动发布)看上去很美。
13+
## (2)购买一站式的DEVOPS
14+
15+
该种方式没有什么好讲,只能讲有钱什么事都好解决,这个对于我们这等程序员来讲,不愿接受也不太现实的。
16+
17+
18+
本文给出一种简单的方式,从小公司更实用的角度出发,先采用半自动化的方式来进行微服务的部署。然后过渡到gitlab+Jenkins这种全自动化的部署方案。
19+

20+
微服务的部署可以直接部署在物理机,当然现在更流行的是部署在Docker环境中,如果需要更进一步的话,那么就是部署在kubernetes的网络上(之后的章节会详细讲解)。
21+
22+
只要通过shell脚本,就可以直接把你开发的微服务发布你需要发布的服务器上。
23+
24+
[Spring boot+docker 半自动化部署 (一)、引言 ](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01springboot-docker-starter.md)
25+
26+
[Spring boot+docker 半自动化部署(二)、环境说明 ](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01springboot-docker.md)
27+
28+
[Spring boot+docker 半自动化部署(三)、使用演示 ](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/03springboot-docker-demonate.md)
29+
30+
31+
32+

doc/01springboot-docker.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

doc/02springboot-docker-evn.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
3+
# Spring boot+docker 半自动化部署(二)、环境说明
4+
5+
微服务是最近几年刚提出的概述,通过注册中心,api网关,配置中心,监控中心等概念引入用来解决单体应用种种问题,当然同时也带来大量的其它问题。
6+
7+
首先微服务需要大量的组件如注册中心,api网关,配置中心,监控中心等,这些组件需要部署监控及管理,工作量巨大,大大增加了运维的工作量。
8+
另外把一个单一的应用拆分成多个微服务,其发布部署也是一套烦琐的事情。
9+
当然,微服务也在发展,**服务网格技术**或许能简化一下。
10+
11+
本次实验采用最简单的部署环境,把日志,调用链等都忽略掉,留下了注册中心,api网关、负载均衡等最基本的功能,这是最重要的功能,通过这些功能就可以看出微服务部署的基本架构。
12+
13+
下图1给出本次实验的环境。
14+
15+
![logo](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1423002x.png)
16+
17+
图1 微服务基本环境说明图
18+
### (1) 负载均衡
19+
这里负载均衡主要是用于对于API网关进行服务端的负载处理,当然也可以用来正反向代理,流量统计等。这里本来需要采用VIP作高可用,防单点故障。这里仅仅使用一台,问题也不是很大。
20+
### (2) API网关
21+
API网关是自己开发的程序,可以采用spring boot ZUUL等相关API网关。API 网关采用Docker容器进行部署。并把其注册到Consul注册中心。
22+
### (3) 微服务
23+
所有的服务都发布在微服务的机器上,采用Docker容器进行部署。
24+
### (4) 注册中心Consul
25+
注册中心有很多种,如zookeeper、consul 、etcd、eureka等,这里采用现在很流行的consul
26+
### (5) 其它
27+
其它如mongodb、reddis是微服务必要的数据存储,但是对于本次实验的作用并不是很大。
28+

doc/03springboot-docker-demonate.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
# Spring boot+docker 半自动化部署(三)、使用演示
3+
4+
微服务需要大量的组件,如注册中心,api网关,配置中心,监控中心等,对于微服务最简单的环境要求那就是注册中心,所有的服务都依赖于注册中心。下图1给出本次实验的环境。
5+
6+
![ideal exec](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1723512x.png)
7+
8+
9+
![build docker images](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1752362x.png)
10+
11+
12+
![tomcat startup](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1752362x.png)
13+
14+
15+
![consul pic](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1744532x.png)
16+
17+
18+
![http test](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1746242x.png)
19+
20+
![tcp test1](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1747232x.png)
21+
22+
23+
![tcp test2](https://github.com/mgicode/mgicode-k8s-shell/blob/master/doc/01pic/20171122-1748372x.png)
24+
25+
26+

0 commit comments

Comments
 (0)