清道夫鱼,技能共享丨怎么根据Python构建一个可扩展的运维自动化渠道,平方差公式

频道:体育新闻 日期: 浏览:150

与咱们聊聊运维自动化的议题,与咱们一同讨论怎样依据Python构建一个可扩展的运维自动化途径,也期望能与咱们一同沟通,一起生长。

此次同享将经过途径具有功用、架沈涛构规划、模块定制、安全审计、C/S结构的完结等几个方面内容来打开。

为什么挑选Python?

几点优势:默许装置且跨途径、可读性好且开发功率高、丰厚的第三方库(开发结构、各类API、科学核算、GUI等)、社区活泼&很多开发者。

Python在腾讯的现小毛驴儿歌视频状,依据上一年内部提交组件言语核算,除掉2、3、4前端技术,Python在高档编程言语中排第3位。使用在体系运维、事务逻辑、运营途径、测验东西、数据发掘等范畴,腾讯大名鼎鼎的“蓝鲸”运维PAAS途径便是依据Python言语清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式来构建。

一、途径介绍

OMServer 一个集中式的Linux集群办理(根底)途径(《Python 技术与最佳实践》书本实践事例),具有事务集群办理、实时安全审计、功用模块定制、数据加密传输、支撑干流Python组件、运用简略且体会好等特色,源码保管地址:https://github.com/yorkoliu/pyauto,读者能够依据企业的需求定制修正及发布。

1、途径截图:

2、途径选用到的第三方库:

Django - 一个开放源代码的Web使用结构,由Python写成,选用了MVC的软件规划形式;

rpyc - 一个 Python 完结的RPC和分布式核算的东西。支撑同步和异步操作、回调等;

saltstack 、ansible 、func - 根本Python开发的自动化装备办理与流程操控组件;

Mysql - 是一个十分盛行的联系型数据库办理体系。

二、途径架构规划

1、 OMServer架构图

咱们对这个架构应该不会感到生疏,三层结构也是现在干流的运营途径架构

2、 架构阐明

OMServer途径为三层架构,别离为WEB交互层、分布式核算层、集群办理服务层。

1)、第一层:即为WEB交互层,典型的B/S架构,以供办理员操作的交互途径,也是OMServer的中心,依据Django开发;

2)、第二层:分布式核算层,供给与主控端的衔接通道,选用的是rpyc传输协议,协议操呼吁作流程:前端模块参数->加密传输->使命履行->妇炎洁回来结清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式果集->解密输出。

3)、第三层:集群办理服务层,整合Python干流的长途操作组件(支撑Saltstack、Anaible、Func),对被控端(事务服务器集群)进行办理,其间主控端能够依据不同IDC环境,选用多地多点的办理方法,可提高冗余度及履行功率。主控端操作模块以不同Python文件加以差异,便于保护,可灵敏定制操作逻辑及横向扩展等特色。

3、 途径架构优势

1)办理端多机支撑,可按不同IDC区分;

2)安全性高,加密传输、界说私有通讯标准(TCP);

3)支撑多种办理客户端接入(WEB、桌面、移动);

4)调用Python组件的高档特性(Playbook、State);

5)功用扩展性才能强,模块定制化。

4、游戏加加架构操作流程

上图将三个层次的交互流程进行串连,能够明晰了解OMServer架构的操作流程,完毕了传统式直连APP Server的操作,愈加标准咱们的操作工作,必定程度能够避误一些潜在的误操作。

5、整合长途操作Python组件

别离两个过程:

1、提早装备主控端与被控端的信赖联系,一般为证书或SSH 认证;

2、经过OMServer主控端封装好的使命模块与API接口,完结定制化的使命下发及履行。

三、途径模块定制

1、使命模块定制的思路

1)使命模块 – 即为一个“操作工作”为颗粒的使命,如重载装备、部风流村署缓存服务、间断Nginx服务等原子操作;

2)增加模块的过程:

- 沈石溪界说使命模块“输入参数”,选用HTML Form元素,能够为输入、下拉、单复选框等元素;

编写后台模块代码,其间履行部分由Saltstack或Ansible普罗旺斯的Client_API来完结;

- 使命模块中心代码,只需求5行代码就能够完结一个SHELL脚本下发、履行的清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式功用。

3)运转模块的过程 - 挑选使命模块 & 操作目标 -> 指定输入参数 -> 运转 -> 回来履行结乱伦小说网果。

2、当咱们的途径现已具有可定制、扩展操作的才能,运维的中心作业就聚集以下几点:

1)途径功用改善、晋级,需求具有DevOps才能;

2)依据事务运营需求,做使命功用模块的编写的作业;

3)日常作业整理(标准、流程化建造),更好将原子操作串成流程。

4)体系、事务的调优,服务事务。

四、安全审计的完结

1、 安全审计技术架构

2、Agent上报完结原理

完结原理十分简略,经过修正Linux体系环境装备文件/etc/profile,界说history工作相关环境变量,捕捉一切Linux登录用户会话中的操作工作及指令,实时经过O女囚门MAudit_agent.py中的HTTP GET CGI向数据库写操作工作流水。

办理前台页面经过守时改写,获取最新的操作工作。

五、C/S结构的完结一胎二宝爹地你不乖

1、 OManager桌面版截清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式图

2、OManager桌面版架构

桌面版OManager依据Wxpython + XRC构建,为两层结构,一层为桌面客户端,另一层为集群办理端,一起兼容OMServer办理端,通讯仍然选用rpyc协议,与OMServer有以下几点差异:

3、后续优化

1)整合ansible或saltstack高档功用,如ansibleplaybook;

2)将多个使命模块打包成模板对列,完结原子操作与运维改变流程的结合;

3)引证使命调度Celery,支撑更大并发;

4)使命对列支撑暂停、间断、重运转功用,完结操作可控。

5)供给与CMDB拜访对接,通用淫乱宗族性更强。

Q&A

Q1:个人能够完结运维自动化途径吗,需求哪些技术?

当然能够,腾讯内部对运维asiangirl人员都有一个要求,就清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式是要具有开发才能。Python简略,简单下手,强烈推荐。

Q2:同享中有说到 CS 架构中安全性高,请问具体高在哪些方面,是什么原因呢?

一般CS客户端布置在办理员电脑,经过私有网络、协议与主控端效互,B/S布置在节点与事务集群同区域,不相同同网段,别的黑客对WEB层的进犯远高于桌面客户端,网络阻隔在这时分显得尤为重要了。

Q3:自行研制tglog关于海量日志传输是否主要走的udp协议?如果是走的udp协议,怎样去处理一些数据包传输中数据乱榆次气候预报序以及数据反杨树鹏序列化问题,或许做了哪些协议层面的优化?

是的,主要走的是UDP协议。tglog一起也是一套数据日志的标准,束缚开发人员打日志的标准。

现在未碰到数据乱序以及数据反序列化问题,曾经面对清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式一柳礼源个比较大的问题是丢包状况,尤其在流量高峰期时段更为显着。

后边在内核、IO优化得到缓解,但无法躲避,所以咱们对清道夫鱼,技术同享丨怎样依据Python构建一个可扩展的运维自动化途径,平方差公式比较重要的日志选用TCP传输。比方玩家消费流水。

Q4:标准化、标准化遇到最大问题是什么高柳ca1924?咱们遇到便是无法行政干与开发怎样写代码?有什么好的方法去引导标准?尤其是开发有很深重的开发使命.

A: 这现已不是运维层面推进的工作,有必要晋级到运维及开发的上层领导,开发使命深重不是理由,上线后出问题相同因小失大,合肥气候30天提早抛出危险,让开发人员仔细做好上线前的评价。

Q5:运维办理体系安全性这块有什么好的思路?

1、网络的阻隔,防止直接暴露在公网;

2、工作电脑需求有一套标准的日常安全标准,尤其是运维工作机;

3、途径编码人员需求有较好的安全意识;

4、多重视业界安全、缝隙工作。

原文:https://zhuanlan.zhihu.com/p/21374266

热门
最新
推荐
标签