ansible-galaxy在线playbook分享平台:http://glaxy.ansible.com
ansible系统架构:
ansible主要由:核心引擎(ansible),核心模块,自定义模块,插件,playbook组成。
外置的插件补充模块功能,完成记录日志、邮件等功能;
默认连接被管节点方式为ssh,local,及大规模连接使用的ZeroMQ
ansible执行过程:
读取ansible系统配置,找到主机清单所在的文件/文件夹/脚本——读取全量主机清单,Host-pattern过滤清单主机——从ansible模块中获取并确定执行的模块
——在connection确定连接方式,获取所需资源,运行模块功能——输出结果(并过滤各种插件)
ansible是基于Python语言实现的,由Paramiko和pyYAML两个关键模块构建的。
Paramiko使用Python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。用于连接多个远程服务器进行配置。
YAML是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互。YAML类似于XML,但是语法比XML简单得多,对于转化成数组或可以hash的数据时是很简单有效的。
ansible模块具有等幂性:当在被管节点运行playbook后,并且达到了预期值,当再次执行同一playbook后,不会对被管节点造成错误影响。(区别于收敛性的多次执行更接近预期值,等幂性则在达到期望值后忽略操作)
******************************************************************************************************************************************************************
DevOps定义:devops是一组过程、方法与系统的统称,用于促进软件开发、技术运营和质量保障部门之间的沟通、协作与整合。他的出现也让软件行业清晰认识到:为了按时交付软件产品和服务,开发和运营服务必须紧密合作。
devops就像一条IT生产线,在生产线上覆盖了整个项目环境搭建,检测,项目制作,监督,测试等功能,加强了整体的协作机制,使得协同办公更加高效,在可控制的范围内使用自动化操作,让操作日志可视化,零误操作。
赵班长在gops运维大会上分享的devops的三个运维发展历程——运维标准化:运维标准化,操作工具化,变更流程化
运维 web化:将操作web化,管理操作权限,弱化流程,统计分析,统一调度
服务智能化:操作平台化管理,资源虚拟化管理,服务容器化管理等
学习每一项自动化管理工具,为建立自动化运维平台打好良好的基础吧!
2017年4月29日Jecht更新