本帖最后由 adminlily 于 2018-11-18 15:50 编辑
武林前辈练就此功以克西毒蛤蟆功,小辈独自修行Devops六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。
此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。
第一脉
混合模式核心经
此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。
此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。
总体架构如下图所示:
在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。
第二脉
基础设施管理经
从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。
第三脉
环境隔离经
无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“[ /s?__biz=MzIzNzA5NzM3Ng==&mid=2651857338&idx=1&sn=c4f68db8202dbba60730ef876201a55a&chksm=f3295975c45ed0638b837ede2917dbc14346bd3f214506173e242379c5c3f1cf4f49af4bcfdb&scene=21#wechat_redirect]环境定义下,软件的生命在哪里?[/url]”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。
第四脉
应用版本管理经
定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。
第五脉
应用发布经
前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。
正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。
第六脉
一体化监管经
前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix。
Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。
优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。
Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。
下图为Zabbix监控整体结构图:
到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。
此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。
原创: 王雪晴
|