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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 812|回复: 0

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

[复制链接]
发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-18 15:50 编辑
9 F# }, J+ y- [! c( \" Y  I! Y5 d% F$ R6 c$ V
1.png
$ F7 x5 ?. X. @4 i
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。
9 `2 p3 m2 R5 ]
( p. k" C$ P% P1 O3 A. Q2 c9 n
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
" f8 j' a4 f6 a9 F9 D, j9 M

. m( E/ s) U, H, R
第一脉
% r9 C( f/ `- v' D3 m' F0 p
  l5 z3 T/ p9 H" v4 _2 L7 ?
混合模式核心经
) o  O2 ^2 |  c' Y
4 T9 ?" V  t" D1 \9 o
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。

: x& |+ W* G  m. c. D: t! z5 ?
& F  v# s) ?) J" k' i$ o
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。
/ Z/ O; j# H# U1 {, h/ w% W  v

8 `5 v/ w( P: E# |' l& {+ T
总体架构如下图所示:
# |  H( w5 @4 Q8 V) C; S: L

1 x& E% L. s5 S2 N2 O
0?wx_fmt=png.jpg

0 y5 \6 n2 v  E/ }1 t- D3 i

+ T0 e) }, W6 y' B; T9 L) v& q/ @7 ^1 U
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。
" Y2 ~9 G/ z& u. i6 t
* ]) z6 Z5 Q1 n1 z# r
第二脉

8 I" v( O6 a9 T/ i3 P3 p  G
& r6 A5 m3 [/ P/ f- m6 X7 K
基础设施管理经

1 I+ Y+ W# o/ a& B
* K: i$ [0 G3 D
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。
3 |0 X, L7 `: C) H" {: z

- J5 m1 i& [  f8 t/ T
0?wx_fmt=png.jpg
1 E1 c+ Y$ f4 W; ^5 \* n

0 K1 L* {0 u" [6 d& J

8 x9 E' h3 i# R: o' S, N
第三脉
6 r1 @7 \& w# F$ R5 O% u

1 J2 [! V" \- L6 E
环境隔离经
% h# _' ]# \$ P. U2 D3 |
. D# v) L. n; i# K
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。
* p8 ~& k* Y: j4 ?; [5 k( [

2 h2 i# ?+ t; Q, j/ o: B  F
第四脉
7 L. I: O  @* O; N
# @1 T  Q" b. j, ]
应用版本管理经

5 w+ P. w1 q% d5 {. Y9 M/ C% ~8 X
" M; B+ f; g: p/ z5 S
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg
+ f! Z. }) n2 r( V# V

. i; i+ ~# M2 [6 z. U3 s" j
0 d: G- s3 j9 V) ?5 [

$ }! M# \. U4 A
第五脉
5 C+ z' P6 `' L% O0 l! |

. q: Q7 X( h7 g, A
应用发布经
0 @3 p7 T2 D# G: c; @
& [0 M. J, v7 ]8 a6 k
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。
& p: k' K7 u: @' s
& I: e. K7 N% j
0?wx_fmt=png.jpg
3 `3 Z/ ]6 N( B; H
: z: F; z. B0 [
. y, Y1 a, t6 |: F
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。

% x- `( r' ?; _# [1 M% H
  S" o1 |- P, g. Y
第六脉

8 G- u8 ^2 |# ?+ t8 F, f  V! t- J: j
一体化监管经

' k% }2 Q' n1 I6 V5 _5 @

  W3 O' m% W  g6 D5 I7 z
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix

) F( g  o9 R  B+ k  [
2 g1 d9 i# a6 l) B" E9 H
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
2 m/ x8 g$ N  g( o4 h) u) z

  a0 a; ]& u7 m8 U8 n% |1 u
0?wx_fmt=png.jpg
% S' V/ o, w) Z4 h, K; s

, _1 B+ D1 I- p+ N: t, X: q: s
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。
6 M% P+ o$ t* F8 _, Y# |

; W! W" P( O$ F4 T
0?wx_fmt=png.jpg

8 O; r+ X; C. ^( G, v

3 `6 O& o" k8 i7 T  Q' P# b2 A

. z2 ^+ s* A. K" A2 B, X# d, p% v' c
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。
+ J  q* y* K: u  ~, i7 j0 R, A

0 ~$ q6 M2 t2 H7 ^$ v
下图为Zabbix监控整体结构图:

  T) d$ a7 Q9 K5 a/ j' j& q

! R  ~& d) ~; U+ G. \4 S
0?wx_fmt=jpeg.jpg
3 B9 z* w% l" c
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
. Q; F) A* p5 l. i3 O/ c
8 L1 t4 T) X4 L( U5 c! t
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。

. z: O9 J  s; [; j- v0 ?+ [& z
8 U& }& c5 r% t. M: ?% T$ P5 u1 }
原创: 王雪晴

, I6 B9 s; |) A9 v% n

本版积分规则

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

Baidu

GMT+8, 2019-11-18 07:35 , Processed in 0.149272 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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