内容介绍
Ansible是对机群进行软件安装、配置和应用部署的自动化工具。自2012年Ansible出现后,以其使用简单、功能实用等特点得到了广泛关注,成为自动化运维工具中的冉冉新星。仅三年后就被红帽(RedHat)公司收购,目前受到众多软件公司的关注、推广和使用。自动化部署无论对系统管理员还是对软件开发人员来说,都会减少重复的手工操作,提高部署效率。Ansible作为学习成本小、学习路径短的一款工具,更是值得了解和使用。
作为一本Ansible入门书籍,读者只需对Linux有最基本的了解就可以轻松读懂本书。
本书的内容共计6章,分为以下三个部分:
第一部分Ansible基本工具的讲解(第1章~第4章)
本书首先介绍了Ansible架构,然后讲解了Ansible的主要概念,接着又介绍了一些具体使用方法,步步递进、层层深入地介绍了Ansible的相关知识。
第4章对前面3章中的知识细节进行了补充,以便读者能够深入理解Ansible的基本使用方法。
第二部分role和衍生工具AnsibleGalaxy的介绍(第5章)
role是Ansible最为推荐的重用代码的方式,并为其开发了AnsibleGalaxy代码分享网站。但因其概念较为复杂,所以对其单独进行讲解。
第三部分企业级收费软件AnsibleTower介绍(第6章)
企业级用户面临着更加复杂的应用环境和更高的安全要求,AnsibleTower就是一款解决企业级用户难题的收费软件。
代码的运行环境
建议读者安装Linux虚拟机作为Ansible的管理节点来测试本书中的代码。Ansible目前已被红帽公司收购,对RedHatLinux系统的支持较为完善,建议读者最好选择RedHatLinux7或CentOS7。
排版约定
为了使读者能快速把握到代码的重点,本书中代码的重要部分用加粗字体表示强调。
例如,下面的代码强调变量“ansible_os_family”的用法:
---
-hosts:all
user:root
tasks:
-name:echosystem
shell:echo{{ansible_os_family}}
-nameinstallntponDebianlinux
apt:name=gitstate=installed
when:ansible_os_family=="Debian"
-nameinstallntponredhatlinux
yum:name=gitstate=present
勘误信息
笔者对本书中所有的代码都进行了完整的测试,书中的文字也经过了反复的斟酌。尽管如此,由于时间紧迫且作者水平有限,错误和疏漏难以避免,还需要广大读者的反馈和修订,以使得本书更加完善。因此,如果您发现书中的任何错误,小到错别字,大到代码运行错误,都希望您能及时反馈。您的任何一次勘误,都会令笔者和其他读者受益,再次表示感谢。
勘误地址:
https://github.com/ansible-book/errata
或者
http://getansible.com/reference/errata
反馈勘误方法:
提问题到Github项目上:https://github.com/ansible-book/errata
发邮件给笔者:shijingjing02@163.com
致谢
感谢同组(Labs和Insights)的同事对本书早期版本的肯定,使我受到鼓舞,有信心编辑成册。感谢我的经理赵东在公司内部推广宣传,感谢周兆林(Jaylin)对早期代码仔细认真的测试,感谢傅炜(网名:TekkamanNinja)多次对文字提出大量的修改建议。
这是笔者第一次写书,在写书的过程中耗费了大量的时间和精力,若是没有家人的鼎力支持,这本书根本无法完成。尤其感谢老公为我分担了怀孕和育儿的大量调研工作,使我能够有时间投入本书的写作中。
本书的后期写作和修订正值我怀孕分娩前后,时间上难免拖拉,感谢本书的编辑安娜对我的理解和支持。