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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 489|回复: 0

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

[复制链接]
来自- 广东广州

参加活动:0

组织活动:0

发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式 来自- 广东广州
本帖最后由 adminlily 于 2018-11-18 15:50 编辑
% I. A' @, R! _. ~, q4 R4 }$ ?. u5 ]5 E, [; M- }4 A
1.png
  e: h/ ~1 w  x5 ~" n& _0 c
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。
; t+ h- k' R, t* K% q6 w: B4 H

2 l. f7 o, K& ~" H
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。

4 s: j6 r9 W4 e7 F8 l* Z

4 ~$ f5 e. }/ ]. o6 Y
第一脉

4 n# I& B' w# P1 c3 t

" F" m+ M" M, K$ F4 m0 `" d
混合模式核心经

2 e& N0 b* h: J- E

$ w6 F% u( Q; k- d4 t
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。
/ S/ F) f+ [" {9 O' W  a' L
& _4 e" n& x9 t" @/ n3 N* i  L1 x& @
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。

6 }# ?" Q9 R; {9 z

: x8 t7 z3 `2 k. n% m% i7 j0 H
总体架构如下图所示:

0 u1 a9 B! {7 Y  x! u
5 Y7 Q$ n# Q7 M0 z
0?wx_fmt=png.jpg
- a; W  f, e/ h, l  A# c

, B) p3 _4 ?9 c7 y
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。

3 C) W( ~1 D/ ]+ i: C; k/ O
0 y# n3 |) J# F% a" ?4 v" F
第二脉
$ B- Y/ `+ B. n) Q$ A: |
8 o/ M2 Q& O2 t2 _
基础设施管理经

( R: s- b3 B) O) Q

7 u. ~+ c# k+ |- S/ `* }
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。

3 m+ [1 p! w; R

6 R& a/ c- h% n7 c: t
0?wx_fmt=png.jpg

6 i2 R( W5 N8 ?  ?- {

% x# R+ G# ~( \1 f& b
7 a; u3 s8 t: j* o
第三脉
5 Z! |7 [. w; }( E3 o

' @! f2 v3 L; b# n
环境隔离经
0 m: ]. V7 Y' K
  P* i( S1 d1 m* t5 s6 [& W# w4 x
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。

# ~: {5 w' r; u9 W4 Z) }) l

" Z/ Z3 N2 s- G% O
第四脉

8 i. E9 Q6 A& Y, T0 c1 X
1 g! v- i- x, |: d
应用版本管理经
4 ]# V+ \) k( v+ l0 D9 a: g  x

# ^+ A( J. q8 |
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg

. K- |! S: Z2 R
/ `2 [% S. _0 O. K) I& g6 p

% c) O: k2 w4 L. w9 W, {+ a
: m" Q% b" ~2 Q. W
第五脉
6 |" |. W3 j: N! B& |
: T  V* H/ C( K: U5 ^# V' d
应用发布经
# h, Y* ~- {& D: H- r

! q2 C+ B) I; ~
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。
; t& ~2 z( B# ^5 m2 N

$ s+ g/ L; u0 E' ?- l5 {
0?wx_fmt=png.jpg
2 ~) F! Y$ p# k! V
4 C' v% B4 }9 |! y" D% p& Q% d

; b$ W: I: f" N+ z$ r0 v" w+ s* l! q
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。

( K% j( W" p; k: |9 V( _; I$ \

1 {: r/ b) W: V. i
第六脉

) I" O; G0 G/ c% l* |$ a, h
" c* g" d; P2 e. |( l/ V# ~  g/ L
一体化监管经

* \8 q. U0 A- _, U5 {

. a0 `2 M4 {1 {4 v" e" @% @
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix
5 |# A& |1 O) B4 f- r
, Z1 @* v  o6 r$ I  ~, T6 L( x! K
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
& b, z5 E: |. p) M8 _

* X1 F7 U# C% D& T
0?wx_fmt=png.jpg
* D6 i6 u4 Z# r$ e5 U+ [% z
* h  f; z# t" E% Z
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。

+ K0 _% G# L9 Z/ p1 e$ c* M
% s: w6 \6 V9 o
0?wx_fmt=png.jpg
0 j  s3 `( [* B$ _/ \- D% }

/ ?) G8 r. I1 C+ F

/ O- X* O7 r" L1 a0 n" r8 \0 W, ]
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。

0 N( _; l! M/ g' F

4 v) [7 T4 e4 s6 r  e8 b+ G6 u
下图为Zabbix监控整体结构图:
: U/ Z# M6 [) z/ l+ z
$ W- F" }3 X+ `- b/ g. A+ e
0?wx_fmt=jpeg.jpg
+ c3 c2 d! {/ e
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。

% \" q+ I- I0 }7 L# I

% Y7 a  t4 I& R, ^6 Y$ H, {  S0 y
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。

, P. K$ S9 D+ N& S

7 x$ Q- J7 w* z+ X
原创: 王雪晴
: O' w: g  D% F! Q7 z

本版积分规则

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

Baidu

GMT+8, 2019-6-17 23:33 , Processed in 0.297132 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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