Ansible自动化运维:技术与最佳实践
上QQ阅读APP看书,第一时间看更新

前言

随着信息技术的迅速发展,形形色色的互联网应用已经成为我们日常生活不可分割的部分。云计算已经改变IT资源部署、配置和管理的方式,服务供应商向着“一切皆服务”交付模式努力。用户享受通过将基础设施扩展并作为服务使用带来的高效、便捷,服务供应商通过云生态环境能够向用户提供更高价值的服务。

这一切背后都有着庞大的IT系统做支撑,作为负责保障稳定运行的运维工作所面临的挑战越来越大。传统的人工运维方式已经无法满足业务的发展需求,需要从流程化、标准化、自动化去构建运维体系。随着DevOps运动的兴起,运维人员、研发人员、质量控制人员都从更大范围来看待自己的工作,打破运维、研发之间的壁垒,进行相互渗透、融合。DevOps项目在数量和体量上持续增长,支撑持续集成、持续交付的自动化工具不断涌现。

Ansible是DevOps项目基础支撑工具之一,是第一款实现读/写跨平台的“Infrastructure-as-code”工具,从系统管理者到开发者,都可使用Ansible自动化部署并维护整个应用的生命周期,实现持续交付。

Ansible是Github上最热门的开源自动化工具之一,当前已经超过1000人为Github上的Ansible做过贡献。2013年笔者创建的“Ansible中国用户组”QQ群(群号:142851673)也相当活跃,当前专业会员已超过1000人。

本书将带领读者探索Ansible自动化运维的神奇之旅,为运维工作节省时间、节约成本,并支持云环境应用部署。

读者对象

本书主要读者对象包括:

·IT运维人员、系统管理员、企业网管。

·运营开发人员、应用部署人员。

·系统架构师。

·大专院校的计算机专业学生。

主要内容

本书是笔者在多年的学习、研究、实践的基础上,对Anisble进行系统的总结和梳理,其中既包括对Ansible基础知识的详细讲解,又包括日常运维工作中典型应用场景的实践案例,还介绍Anisble业界丰富的进展和发展趋势。本书的实践案例和脚本,可以在实验和生产环境中针对本书描述的场景进行复制和使用。

本书的目标是介绍如何较好地使用Anisble,从初始的命令行开始,到编写playbooks,再到管理大型、复杂的环境,最后介绍如何构建自己的模块、编写插件扩展Ansible增加新的功能。对于新手来说,本书提供了关于自动化运维的具体操作实战。对有经验的维护人员来说,本书提供了如何把Ansible与具体应用相结合,讲解Ansible的最佳实践。对于产品专家来说,本书介绍了如何扩展Ansible自动化运维工具手段,讨论Ansible如何与其他系统的交互才能提供可满足最终用户需求的集成解决方案。

本书主体包括14章。各章可以独立阅读,但对于还没有大规模应用经验的新手,建议按照顺序、循序渐进阅读。

本书第1、2、7、11~13章由陈金窗编写,第3~6、8~10、14章、附录由沈灿编写,最后由刘政委进行校审。由于笔者的水平有限,编写时间仓促,且自动化运维方兴未艾,Ansible当前仍处于快速发展之中,因此书中内容难免会出现一些错误或不准确的地方,恳请读者评判指正、不吝赐教。

致谢

首先感谢Ansible创始人Michael DeHaan和他的研发团队独具慧眼、发明创造了功能强大、轻量级的自动化运维工具。同时感谢提供Anisble模块的所有第三方作者,是他们辛勤的劳动和乐于分享,才使得Ansible产生巨大威力,在他们身上闪烁着开源精神的绚丽光芒。

感谢机械工业出版社的编辑们一年来始终的支持、积极的鼓励、耐心的帮助,并逐字审阅、校正,才使本书的出版成为可能。

本书有一些内容参考了网络论坛、博客等,由于参考资料众多,有些时间久远无法了解确切出处,在此对热爱分享知识的网友表示深深的谢意。

最后,谨以此书献给我们最亲爱的家人和自己,以及众多热爱开源技术的朋友们!

陈金窗

2016年2月于北京