请选择 进入手机版 | 继续访问电脑版

IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 723|回复: 0

程序猿成长日记之独自修炼“六脉神剑”--Devops篇

[复制链接]
发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-18 15:50 编辑
! y; U4 @1 E* o6 ~  A7 N1 d
# t9 {3 M6 y( F) ^' B1 g1 q
1.png
1 G: C- [$ f3 E, P( S
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。
$ D; u" @) Y% c. [
1 @) T" w% @6 K; S( x
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
7 ^9 {" \$ W. P2 X
4 u0 U' O% Y5 g# L) ]1 N4 u
第一脉

: H$ A% S* m6 g+ `- G3 a

0 Y% v, L" u$ i$ ?0 d" v0 D
混合模式核心经

% b9 B* d' _. o9 d; ^
- A8 U) H: @$ x6 d* R7 y/ r  {
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。

) V# [4 l! Q' J  _) }8 n

5 t  {6 t9 X: D5 _7 x+ }( P( C
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。
# ]. }7 P. [( t7 T/ C% r) k

) {- W6 S: t* I/ ?8 s# j
总体架构如下图所示:

$ V% n6 G$ L& ^9 [" E
4 {& C# T4 v! e# K4 F! ?
0?wx_fmt=png.jpg
5 _9 u6 Q1 Q: @3 L7 u4 n+ I
! M3 z! |& N5 s) W  c' N
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。

8 ~' ]) X& x  D

1 y. f. M) J. X$ A7 T. e0 q/ \
第二脉

; ^( W  I2 j* c; ^' ]. R0 v; l7 d6 ]" Z% Q8 O
基础设施管理经
# k8 t9 J6 n% v- F. B' _9 U

7 _- g# `; y9 a+ L  S
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。
1 b1 T' a. U' b5 M" [( y

5 M6 A. z+ ?. z  {; H
0?wx_fmt=png.jpg
9 s! _# `5 J. [( ?( q7 c

, G! N. P7 H/ l2 C4 M$ I' H6 d
) n$ O" q6 p* ?$ |1 R6 r
第三脉

/ E% w' U* E5 N4 C( X
: W6 A* O: L7 S# M2 @
环境隔离经

+ |3 G0 u+ z3 _
7 c, X! t+ d" C4 K
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。
& ~) t# }! M1 E2 X5 X
* `9 p& `/ n( ^7 y
第四脉
7 x3 \/ }& v, D
: \9 P* \5 Y0 D5 {
应用版本管理经

! J* ]5 }  A8 O
+ H3 A2 g& P/ H+ i2 H: R2 a1 _; n
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg
3 c1 F: ~5 J+ F+ m% d" |' b

* y$ `* \8 i3 y
3 I& e0 y' B- r" b
; ^. W) A0 L( @. |
第五脉
/ T% ]' c" m3 c

4 j( F" R& Z: a9 }2 `/ u" \, s" x
应用发布经
6 e3 B. e! u* S
! l7 e! X+ L# E( E/ ^# J
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。
+ c6 j0 F; E% q6 V( u3 _" l, d1 C3 d

4 s: B4 l. |& y1 w( H& b
0?wx_fmt=png.jpg

1 x, U1 b% D1 n" w
% X9 ~' z4 g4 T% v0 R( ^- g8 K9 i

; z' b6 T# Y/ z9 n  ~3 P0 Z
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。
) A2 h+ f, m8 m! n, l; S" O& J5 Q

) j" ^: O+ ~& Y8 I: B
第六脉
. k4 j) G! [6 C  S# u) M
  [; L# A1 y  T0 N- w% u& k0 ?
一体化监管经

2 M+ x" G7 |/ Y: u7 M0 Q
+ Y; w( I& r: G% R
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix

- l$ P; d3 D7 L6 l2 B7 w1 \

6 O2 k4 a/ F& |2 r  Z5 s. i6 n
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
7 i+ R! _, h. F6 z% w) s

' q* E. C% [! l& ~
0?wx_fmt=png.jpg
; q9 P/ p* `9 d) i$ M- f
2 E; t! ^3 D! ]. X( e7 A* @
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。

) D- S. N8 G- y) Z6 c+ `

  D1 O  i- R. M
0?wx_fmt=png.jpg

% t1 h/ ~% \- k

3 m2 D( p/ E0 g2 S* M

% a8 J, ~3 W3 J! V0 T, y( J
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。
# o4 j& y, m3 }$ }4 X4 [
. d( o" C9 b8 ^8 m" |; Y
下图为Zabbix监控整体结构图:

1 g$ H. c0 S+ y- F# L! J
% T) `5 `8 `; I
0?wx_fmt=jpeg.jpg
& I! z. c' R7 U# u8 Y+ D
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
- G$ E  f: j0 R; s: I& G  I6 Z3 [

1 x9 V2 E) J; I# W) x
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。
- v7 I+ U) [- U9 r+ r3 {

% B/ d: p/ \: S) X9 d6 f7 ?+ r1 x
原创: 王雪晴
& v& D/ P8 I: o  y4 E0 C

本版积分规则

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1 )|网站地图

Baidu

GMT+8, 2019-9-23 07:19 , Processed in 0.145270 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表