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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 1487|回复: 0

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

[复制链接]
发表于 2018-11-18 15:47:57 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-11-18 15:50 编辑 6 @& Q; u1 J" P: ]1 q

1 I& k$ ^% `8 K4 D' `4 [
1.png

( s% A, s/ M! t$ `3 f# k) o
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行DevOps六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。
0 J" u7 \/ d- F6 K; p& W

* M/ M- G) u. m' q+ t$ J
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
% N! `8 L/ k7 j% v( M
+ P+ U, x  r/ j% T1 Y& Z
第一脉

) M  e  o9 ~$ R0 G+ u% r' J7 w

0 g# n& d, M0 s
混合模式核心经
4 _$ ?+ K) u1 T4 K
: D, ^* ]7 i* o8 X2 S) [
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。

; @9 }! _& L7 i& q
- u! @% Z; K1 y3 t& A% a; X+ f6 {& p
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。
: t& H- F, ^6 @
+ }( ?" _6 _. u3 ?- p# j
总体架构如下图所示:
/ t0 A* M+ [/ m7 l. c
; }& Z. ]% a8 ~+ z* h4 c
0?wx_fmt=png.jpg

: s' e( v% A. A4 W3 f

. D7 v: x0 T( v
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。
2 G7 t, v5 E0 ?) ~. P
4 w' V1 I, }& r$ m9 q! T
第二脉

8 f% {- [; i7 |5 J5 k
/ g. O5 Z6 S3 k" ?" Z% E
基础设施管理经
" {4 X6 b2 i( F; K/ ?5 o6 z

4 O7 V! e9 n1 m, P
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。

9 u$ D. O8 Y+ D( H; w6 |$ e1 k3 E

4 m. g+ a3 r1 Q2 M
0?wx_fmt=png.jpg
# c3 H# z. M6 o. u+ N* k

+ `* y# }  E8 b0 `3 a: n* R$ o- U0 X
9 P1 F: C, m( V. `. D
第三脉
: P2 X2 d3 L0 M+ q- I9 U; r& f
! p8 G' @; @9 P" ~
环境隔离经

- G1 i& L" L6 r
1 I: s0 p9 p$ P7 C' D" z3 {
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。

4 I0 s/ @! ?+ V

! S, B' c( c" Z8 Q
第四脉

* q' e( J, Q! ?$ {# k0 ~$ ~3 o0 e2 w( S! K
应用版本管理经

* P, I" p6 V! ~! {/ j

/ Q; t( T' B" A. G* L% ]6 P: g
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
0?wx_fmt=png.jpg

6 R- T, U5 F: o8 o! X0 t7 P- s
$ g- k4 |' y# f5 H8 m

; T" b+ ^; d5 W4 P1 T0 O( o) B; Y4 K
第五脉
9 H* t/ L# {7 H5 f
, N$ y4 f$ ]' S4 W; I3 L( Y
应用发布经
3 x7 e& w! K) Z5 h6 j  Q4 Q* L
8 F& J' h. ?) `2 ?8 k" ~8 ^7 E
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。

1 Y- j6 b! |5 L
# p3 }! ~3 U7 L# c
0?wx_fmt=png.jpg
5 F, k4 c0 D: n
$ B6 e* S4 c. d2 [2 a3 X
2 I! R8 c9 X& n5 |1 l4 o( D
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。

% D3 p0 p" K" _0 Z$ e
3 R- O! @0 Q; S5 B
第六脉
' Y# T9 Y4 P" O% L( H
6 K& l8 B' d( N! z! ~5 T$ V
一体化监管经

' E) m8 E- z& G" \' i, f; a8 y2 C
! r) Q3 _0 u9 J+ Z- n# i! P( y" t% S
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix

7 M' c7 y3 A" V! V$ q# d+ f, E2 f2 e4 i) r
; B7 E9 A5 t% z$ K6 v
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
! K# t/ A3 u4 B& W0 M3 w. t

) [8 ?8 _! e: [/ u* r
0?wx_fmt=png.jpg
2 r! m, W  C% `& V# ^& ]
$ |4 f2 H! S) B' S& C# [. m
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。
1 x% {2 t  L% b5 P
5 Q* z) t. {2 a4 d
0?wx_fmt=png.jpg
+ q5 H7 C1 z+ B" J

, t) d& i4 J) J3 d: `5 g/ M

5 P6 Q5 X6 g3 P0 a  D8 [
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。

  k  q8 I. @! j! Y: S/ W
$ [6 a; {$ b! r7 W$ d" d
下图为Zabbix监控整体结构图:

0 M; {' Y* v# B
6 L) Z: J, v; B$ @
0?wx_fmt=jpeg.jpg
: X5 D) t( K: @  w) d
   
                     
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
6 {7 r- }9 ?) `6 o
8 p) Y) b5 f' y( N$ C$ H
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。
( F) a8 y. P  W! ]+ l# x

# S7 j& G5 Y) r$ N% Q  z9 ~( j
原创: 王雪晴
2 O  U3 o1 X7 b% e




上一篇:云时代的宝典:AWS云平台下的开发运维DevOps
下一篇:【52ABP实战教程】-- Devops如何用VSTS持续集成到Github仓库!

本版积分规则

参加 ITIL 4 Foundation和中级过渡MPT认证、DevOps专家认证、ITSS服务经理认证报名

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

Baidu

GMT+8, 2020-7-6 21:11 , Processed in 0.170188 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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