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

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

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 2100|回复: 0

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

[复制链接]
发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-18 15:50 编辑 " d" H0 o+ @7 I

6 U: s0 ]  e8 g+ V- Q8 u
1.png

9 [. P* J6 y4 O/ }- [
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。

! w$ ~6 Y" W% a
" U" D7 |5 ?8 Z0 ?! P: g
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
: n3 G* t/ Y! I2 l- M% t
# _) k& q1 [6 p( g2 u
第一脉

% V3 J! t, h  n' W/ I0 S" B- q

! d% U  g3 N8 |8 O
混合模式核心经

0 _* b8 L, c. o& [/ ^6 q' w
3 l- X; ]8 K- v$ H" O/ }
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。

9 T$ {! X5 S8 s4 d+ X
3 T  `% C5 W* r
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。

- R& a. Q" q4 O
' A8 w4 X& O  P" e. o( N& h
总体架构如下图所示:

" x8 n( S% S7 m3 s
/ u! r: M  @! c  j
0?wx_fmt=png.jpg
1 G! g* a* d6 R1 d9 s+ Z: I0 o
' m: J4 \5 K+ e- `1 y3 k
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。
+ J$ ?% d( T: }

1 m# ^+ T* ?! [4 r+ b( z
第二脉
" ]& f6 Z. s% _( \6 ]
+ O" j7 s) a9 l' F* J$ ^6 B
基础设施管理经

# x+ y7 d9 G* i! H
* [+ `: A5 E3 w* q
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。
* H: z4 B" _- d, X
0 J8 v) ~; K' {8 F2 y, [; d* y
0?wx_fmt=png.jpg
+ R# w2 B6 Y) ^3 u) J. L( k

8 p( Q0 z: X* C- ]
, v7 b& D3 F! P
第三脉
. h/ m( T& N% I$ x* f3 Y( m1 A
" n- G+ t9 o' V& ]2 t
环境隔离经

* |( x9 [& z1 a: I
1 P3 a: |7 q9 f; X; a$ ^6 f4 ]
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。

' O: J1 y" Z9 f6 k; R1 l, e5 n

7 C7 b; @  V* m
第四脉
9 q: J* A) ^6 j2 d* p  d

, t& ~3 ?5 d. L3 C; b. N/ y# F
应用版本管理经

) |) d% A% V( l9 s

; ~# \3 w- T4 d7 d) |' t  v' P
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg
# R0 f& i$ I: @0 C/ _/ k& {
4 \1 v0 \5 ?  S
2 t2 U( H* Y6 y" ^6 _' J+ h
7 M# h* O. W$ q2 c# Y" U
第五脉
0 ]7 H) p% ]+ ^) ~

5 R' [/ M2 f2 b5 K. w
应用发布经

% c2 \1 f2 X- s

& h+ Z2 |+ u# _# B
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。

+ D/ C/ b4 @! |

0 m$ D& K5 f4 h. |
0?wx_fmt=png.jpg

3 }  c0 P" L' I
4 Q4 P/ i. |. L, }
; G9 q: J/ Q+ s7 |
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。

) X, N# @$ r$ Q2 |% `- B
6 `/ u/ q8 o; {" E! D+ L
第六脉

+ j9 D3 c6 W/ [: `7 r5 }2 p8 C1 j: D8 g
一体化监管经
8 A  I' b% \+ b

. \% j: f1 n. w! b" P
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix
3 Y2 f2 t" V2 k- f: D7 K

( T! W  a% b* z2 |; ^5 I# c
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。

" I3 P: L) a. y

4 v7 R+ z$ f0 @$ y5 w# l
0?wx_fmt=png.jpg
% z( B; ]8 u5 I- [/ q: k

& D! S3 L* U; l9 M, v5 [" N3 ?
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。
& F  ]6 M+ b, i( Y3 s( r9 p
  F9 J/ t9 t9 V' y: g
0?wx_fmt=png.jpg
5 U4 o& `/ e) Y" O2 n  o, s

' C8 [; K" g7 K8 M9 M
6 p% @# ^2 _! ?
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。

- ~2 j0 O; L' J  w% j9 j

( C3 z4 T2 r8 A0 s3 D5 q
下图为Zabbix监控整体结构图:
+ H% h2 O9 \9 r2 G

+ O: [/ H( s" |: W+ a2 j
0?wx_fmt=jpeg.jpg

* w5 W, F  q4 j7 q8 W4 K% K) Y2 H
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
5 y, f" }# x. v# b# x) g, D/ p- P

# ?: k& d$ T. \
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。

% e' P5 i! g5 H

5 d( _. ~# `, M- A7 ^3 e
原创: 王雪晴
2 E: \, G( F' _7 P+ t7 W




上一篇:云时代的宝典: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-8-6 08:20 , Processed in 0.107524 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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