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

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

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 2180|回复: 0

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

[复制链接]
发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-18 15:50 编辑
5 L5 B8 b0 J/ f% x
$ L* ^% J: s6 g9 s9 p6 [3 u
1.png
2 n7 P( V1 [. E
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。

7 W- m% W  N7 t3 ~! G* c

4 F- t5 }' B+ r
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
' V0 B# Y) s4 X8 h: p1 B$ b1 V
3 a6 b9 T. u9 I2 l% }  E
第一脉
& {) R" z  e( K- B

) }/ I) X1 @+ X* j
混合模式核心经
9 O  ^. A8 z+ e% X: m& k' {9 a

; i6 B- g4 ]( t7 x# w
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。
) l4 ]& r9 Y' |) `% {

' h5 h7 p8 d5 [" y( V- T$ U
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。
$ R3 W6 }: F3 r8 W* o+ k

0 m6 ?8 V# w  t" |$ [
总体架构如下图所示:

* D$ f% ]' s$ i) v5 X$ Q5 d4 v
5 m* M0 I2 N6 y6 m
0?wx_fmt=png.jpg
. \+ ~8 o; I  k. j

- Q9 D6 m1 S  o  k% G
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。
: j: q6 D  t; U
( V5 O% U# N3 N' q
第二脉
- H. @0 M+ @0 k+ N

8 j3 p3 {' B/ e! r! P
基础设施管理经
! `0 K  g- z7 X: q
: y  @1 U! B" G
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。
- K( J, D5 J) `2 t* M2 P7 R

4 Z* z# R! V) C
0?wx_fmt=png.jpg

) G0 Q# O1 Z2 ~9 l: e% I

- f" I& ^; k. L' E! B4 f
6 |9 ]! u" ^- q$ J7 ^9 f$ ^; v
第三脉
8 ]0 Q; C: w! d! z' X9 S! k
4 F, M' f# P5 l# z
环境隔离经

2 x# _! G! k) l9 W  }9 H  g! b0 A; U

: Z( f* J% r+ f+ x: z1 l
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。
5 k) D" S7 K, X: N- ^: j

# H! l& F! P# c4 m/ I, m4 w
第四脉

6 b& Y" V/ c2 X& o* e# d6 H  G, `% B
应用版本管理经
0 ]. ?! D, `" o) q) e
5 {9 `: A) w# o( ]2 Z4 A# u0 t
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg
8 p& T, q# @' Y" S6 R- C

" `5 v" L2 L9 I4 I- z

5 @/ c: ~" ]& ^6 O! [  j: I4 b
! W) b9 o( A2 ?0 e5 u. z
第五脉
4 [* a: ?6 x$ z) k7 ]

: Y' }; L1 c# p9 Z, `8 l
应用发布经
% A6 N! R9 h; g" @. k
  I* C$ U7 v0 p0 j: X2 L" K
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。

  P. z. y9 @' [+ i# n, E
4 l( h9 p& O' a! I; L
0?wx_fmt=png.jpg
  `" z1 T& Y, S8 s
, d4 R4 y8 R) t% F& n9 h

# W; p6 [3 h0 ~
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。
' S) p6 Z! E  `1 Q1 w

2 m5 h2 x* D; r6 n0 m  d2 n
第六脉

# l& ]! Q0 U1 Z0 X& i3 R$ v- s
0 Z, z! O9 U1 ~+ m  K$ ~
一体化监管经

. Y" I- C) B7 T) `  g& D
8 g& w2 b% c. ~9 [% U
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix

  i4 b$ w$ {! u
$ l; v1 ?3 D$ H1 G6 e. }; F7 g' I
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
( ^% N2 S& U5 e+ h. e6 w- |7 ?

* e7 s" O( `% {
0?wx_fmt=png.jpg

& P& e% E# g( ^  j! |& N6 d4 K- x

. W# U: H/ S- `: G0 u
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。

$ y/ N# V( U& [4 U& \. L. S8 q

! i" \) u( V+ Z0 c
0?wx_fmt=png.jpg
6 m7 L( y0 J% }: h
  q9 |" C6 F* [. O% o
5 `: L; B8 F/ b
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。
% |; o4 R+ {6 b% m2 n( j& X
6 C  g% i6 G6 L6 S
下图为Zabbix监控整体结构图:

3 k* m: E" N, x3 c: `

& L9 ~: [5 v; N  S8 q# t
0?wx_fmt=jpeg.jpg
% U0 O. t4 w2 g( K7 e
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
0 v0 Z0 P6 }: s; l% u

  N, H) b7 x$ _1 |9 Q! D0 K
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。
3 J2 A  g/ ?4 O- o1 ~, c; w  t' [

1 o/ Z8 N$ c, G1 u9 _' V# X9 z0 U; F
原创: 王雪晴
6 W) i" ~6 r, c6 J! ]




上一篇:云时代的宝典:AWS云平台下的开发运维DevOps
下一篇:【52ABP实战教程】-- Devops如何用VSTS持续集成到Github仓库!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

参加 ITIL 4 基础和中级专家认证、v3专家升级、DevOps专家认证、ITSS服务经理认证报名
本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|ITIL先锋论坛 ( 粤ICP备11099876号 )|appname

Baidu

GMT+8, 2021-12-3 00:04 , Processed in 0.128987 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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