描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121315022
Ansible是近几年出现的新的自动化运维工具,可以对机群进行软件安装、配置和应用部署,而《Ansible快速入门:技术原理与实战》是一本Ansible入门书籍,炼了Ansible中的精华,侧重于实战,全书代码均实测过,是一本不可多得的Ansible入门书。
第1章 Ansible介绍
1.1 Ansible介绍
1.2 Ansible解决了什么运维痛点
1.3 架构
1.3.1 Ansible的架构
1.3.2 Ansible Tower的架构
第2章 Ansible入门
2.1 安装Ansible
2.1.1 在管理员的电脑上安装
2.1.2 被管理的远程主机
2.2 Ansible管理哪些主机
2.2.1 什么是主机目录
2.2.2 主机目录配置文件
2.3 Ansible用命令管理主机
2.3.1 Ansible命令的格式
2.3.2 Ansible命令的功能
2.4 Ansible用脚本管理主机
2.4.1 执行脚本Playbook的方法
2.4.2 Playbook的例子
2.4.3 Play和Playbook
2.5 Ansible模块
2.5.1 什么是Ansible模块
2.5.2 在命令行里使用模块
2.5.3 在Playbook脚本中使用模块
2.5.4 Ansible模块的特点
2.5.5 常用模块
第3章 Ansible进阶
3.1 Ansible的配置
3.1.1 可以配置什么
3.1.2 Ansible配置文件的优先级
3.2 主机清单
3.2.1 远程主机的分组
3.2.2 设置连接参数
3.2.3 变量
3.3 Ansible的脚本Playbook
3.3.1 Playbook的文件格式YAML
3.3.2 执行Playbook的命令
3.3.3 Playbook的基本语法
3.3.4 变量
3.3.5 Playbook也有逻辑控制语句
3.3.6 重用Playbook
3.3.7 用标签,实现执行Playbook中的部分任务
3.4 更多的Ansible模块
3.4.1 模块的分类
3.4.2 Extra模块的使用方法
3.4.3 命令行查看模块的用法
3.5 使用方法
3.5.1 写Playbook的原则
3.5.2 参考别人的Playbook
第4章 Ansible Playbook杂谈
4.1 再谈Ansible变量
4.1.1 变量的作用域
4.1.2 变量的优先级
4.2 使用lookup访问外部文件或数据库中的数据
4.2.1 lookup读取文件
4.2.2 lookup生成随机密码
4.2.3 lookup读取环境变量
4.2.4 lookup读取Linux命令的执行结果
4.2.5 lookup读取template变量替换后的文件
4.2.6 lookup读取配置文件
4.2.7 lookup读取CSV文件的指定单元
4.2.8 lookup读取DNS解析的值
4.2.9 更多的lookup功能
4.3 过滤器
4.3.1 过滤器使用的位置
4.3.2 过滤器对普通变量的操作
4.3.3 过滤器对文件路径的操作
4.3.4 过滤器对字符串变量的操作
4.3.5 过滤器对JSON的操作
4.3.6 过滤器对数据结构的操作
4.3.7 过滤器的链式/连续使用
4.4 测试变量或表达式是否符合条件
4.4.1 测试字符串
4.4.2 比较版本
4.4.3 测试List的包含关系
4.4.4 测试文件路径
4.4.5 测试任务的执行结果
4.5 认识插件
4.5.1 插件类型
4.5.2 常用的插件介绍
第5章 role和Ansible Galaxy
5.1 role和Ansible Galaxy的简要介绍
5.1.1 role
5.1.2 Ansible Galaxy
5.2 role的放置位置
5.2.1 当前目录的roles文件夹下
5.2.2 环境变量ANSIBLE_ROLES_PATH定义的文件夹
5.2.3 Ansible配置文件中roles_path定义的文件夹
5.2.4 默认文件夹/etc/ansible/roles
5.3 在Playbook中如何调用role
5.3.1 调用简单的role
5.3.2 通过pre_tasks和post_tasks调整role和任务的顺序
5.3.3 调用带有参数的role
5.3.4 与when一起使用role
5.4 如何写role
5.4.1 role的完整定义
5.4.2 默认变量和普通变量的区别
5.4.3 tasks/main.yml如何使用变量、静态文件和模板
5.5 role的依赖
5.6 Ansible Galaxy网站介绍
5.6.1 从Ansible Galaxy网站上下载role
5.6.2 分享你的role
5.7 演示role的创建和分享
5.7.1 改造单个的Playbook为role
5.7.2 在Ansible Galaxy中分享role
第6章 Ansible Tower
6.1 为什么要用Ansible Tower
6.1.1 Ansible和Tower的用户视角架构图
6.1.2 Ansible Tower的主要功能
6.2 如何使用Ansible Tower
6.2.1 安装方法
6.2.2 使用方法
6.2.3 总结
6.3 与第三方平台的整合
6.3.1 Ansible Tower API
6.3.2 Ansible Tower提供的命令行工具
附录A
前 言
内容介绍
Ansible是对机群进行软件安装、配置和应用部署的自动化工具。自2012年Ansible出现后,以其使用简单、功能实用等特点得到了广泛关注,成为自动化运维工具中的冉冉新星。仅三年后就被红帽(Red Hat)公司收购,目前受到众多软件公司的关注、推广和使用。自动化部署无论对系统管理员还是对软件开发人员来说,都会减少重复的手工操作,提高部署效率。Ansible作为学习成本小、学习路径短的一款工具,更是值得了解和使用。
作为一本Ansible入门书籍,读者只需对Linux有基本的了解就可以轻松读懂本书。
本书的内容共计6章,分为以下三个部分:
部分 Ansible基本工具的讲解(第1章~第4章)
本书首先介绍了Ansible架构,然后讲解了Ansible的主要概念,接着又介绍了一些具体使用方法,步步递进、层层深入地介绍了Ansible的相关知识。
第4章对前面3章中的知识细节进行了补充,以便读者能够深入理解Ansible的基本使用方法。
第二部分 role和衍生工具Ansible
Galaxy的介绍(第5章)
role是Ansible为推荐的重用代码的方式,并为其开发了Ansible Galaxy代码分享网站。但因其概念较为复杂,所以对其单独进行讲解。
第三部分 企业级收费软件Ansible
Tower介绍(第6章)
企业级用户面临着更加复杂的应用环境和更高的安全要求,Ansible Tower就是一款解决企业级用户难题的收费软件。
代码的运行环境
建议读者安装Linux虚拟机作为Ansible的管理节点来测试本书中的代码。Ansible目前已被红帽公司收购,对Red Hat Linux系统的支持较为完善,建议读者好选择Red Hat Linux 7或CentOS 7。
排版约定
为了使读者能快速把握到代码的重点,本书中代码的重要部分用加粗字体表示强调。
例如,下面的代码强调变量“ansible_os_family”的用法:
—
– hosts: all
user: root
tasks:
–
name: echo system
shell: echo {{ ansible_os_family }}
–
name install ntp on Debian linux
apt: name=git state=installed
when: ansible_os_family == “Debian”
–
name install ntp on redhat linux
yum: name=git state=present
勘误信息
笔者对本书中所有的代码都进行了完整的测试,书中的文字也经过了反复的斟酌。尽管如此,由于时间紧迫且作者水平有限,错误和疏漏难以避免,还需要广大读者的反馈和修订,以使得本书更加完善。因此,如果您发现书中的任何错误,小到错别字,大到代码运行错误,都希望您能及时反馈。您的任何一次勘误,都会令笔者和其他读者受益,再次表示感谢。
勘误地址:
https://github.com/ansible-book/errata
或者
http://getansible.com/reference/errata
反馈勘误方法:
提问题到Github项目上:https://github.com/ansible-book/errata
评论
还没有评论。