《奔跑吧Ansible》

《奔跑吧Ansible》 《奔跑吧Ansible》

  • 书名:《奔跑吧Ansible》
  • 分类:计算机
  • 作者:Lorin Hochstein
  • 出版社:电子工业出版社
  • 出版年:2016-1
  • 售价:79.00
  • 页码:318

作者Lorin Hochstein介绍:

Lorin Hochstein任职于SendGrid实验室,是一名负责开发与部署新产品的高级软件工程师。他曾在Nimbis Services任职云服务首席架构师,还曾经是加州大学信息科学院的计算机科学家。Lorin拥有马里兰大学计算机科学博士学位。 译者介绍:陈尔冬,前新浪网技术总监;现华为高级技术专家,从事公有云相关能力建设。

《奔跑吧Ansible》 目录大纲:

原书推荐序
前言
第1章 概述 1
关于版本的说明 2
Ansible 的优点 2
Ansible 如何运作 3
Ansible 的精妙设计有哪些 4
易读的语法 4
远程主机无须安装任何依赖 5
基于推送模式 5
Ansible 管理小规模集群 6
内置模块 6
非常轻量的抽象层 7
Ansible 太过于简单了吗 8
我需要具备哪些基础知识 9
哪些内容不会涉及 9
安装Ansible 10
建立一台用于测试的服务器 11
使用Vagrant 来创建测试服务器 11
将测试服务器的信息配置在Ansible 中 15
使用ansible.cfg 文件来简化配置 16
继续前进 20
第2章 playbook:一切的开端 21
一些准备工作 21
一个简单的playbook 22
指定一个nginx 配置文件 24
创建一个定制的首页 25
创建一个webservers 群组 25
运行这个playbook 26
playbook 是YAML 格式的 28
文件的起始 28
注释 28
字符串 28
布尔型 29
列表 29
字典 30
折行 30
剖析playbook 31
play 32
task 33
模块 34
将它们整合在一起 35
执行Ansible 后发生变化了吗?跟踪主机状态 36
来点更酷炫的:添加TLS 支持 36
生成TLS 证书 38
变量 38
生成nginx 配置模板 40
handler 41
运行playbook 43
第3章 inventory:描述你的服务器 45
inventory 文件 45
准备工作:创建多台Vagrant 虚拟机 46
inventory 行为参数 49
ansible_connection 50
ansible_shell_type 50
ansible_python_interpreter 50
ansible_*_interpreter 50
改变行为参数的默认值 51
群组 51
范例:部署一个Django 应用 52
别名和端口 55
群组嵌套 55
编号主机(宠物vs. 公牛) 56
主机与群组变量:在inventory 内部 56
主机和群组变量:在各自的文件中 58
动态inventory 60
动态inventory 脚本的接口 61
编写动态inventory 脚本 62
预装的inventory 脚本 65
将inventory 分割到多个文件中 66
使用add_host 和group_by 在运行时添加条目 66
add_host 66
group_by 68
第4章 变量与fact 71
在playbook 中定义变量 71
查看变量的值 72
注册变量 72
fact 76
查看与某台服务器关联的所有fact 77
查看fact 子集 77
任何模块都可以返回fact 79
本地fact 79
使用set_fact 定义新变量 80
内置变量 81
hostvars 81
inventory_hostname 82
groups 82
在命令行设置变量 83
优先级 84
第5章 初识Mezzanine:我们的测试应用 85
为什么向生产环境部署软件是一件复杂的事 85
PostgreSQL:数据库 88
Gunicon:应用服务器 88
nginx:Web 服务器 89
Supervisor:进程管理器 90
第6章 使用Ansible 部署Mezzanine 91
列出playbook 中的task 91
组织要部署的文件 92
变量与私密变量 92
使用迭代(with_items)安装多个软件包 94
向task 中添加sudo 语句 96
更新apt 缓存 96
使用Git 来Check Out 项目源码 98
将Mezzanine 和其他软件包安装到virtualenv 中 99
task 中的复杂参数:稍微跑个题 102
创建数据库和数据库用户 104
从模板生成local_settings.py 文件 105
运行django-manage 命令 108
在应用环境中运行自定义的Python 脚本 110
设置服务的配置文件 112
启用nginx 配置文件 115
安装TLS 证书 116
安装Twitter 计划任务 117
playbook 全文 118
在Vagrant 虚拟机上运行playbook 121
将Mezzanine 部署到多台主机 122
第7章 复杂playbook 123
在控制主机上运行task 123
在涉及的主机以外的机器上运行task 124
手动采集fact 124
逐台主机运行 125
只执行一次 126
处理不利行为命令:changed_when 和failed_when 127
从主机获取IP 地址 131
使用Vault 加密敏感数据 132
通过模式匹配指定主机 133
限定某些主机运行 134
过滤器 135
default 过滤器 135
用于注册变量的过滤器 135
应用于文件路径的过滤器 136
编写你自己的过滤器 137
lookup 138
file 139
pipe 140
env 140
password 141
template 141
csvfile 141
dnstxt 142
redis_kv 143
etcd 144
编写你自己的lookup 插件 145
更复杂的循环 145
with_lines 146
with_fileglob 146
with_dict 147
将循环结构用作lookup 插件 148
第8章 role:扩展你的playbook 149
role 的基本构成 149
范例:Database 和Mezzanine role 150
在你的playbook 中使用role 150
Pre-Task 和Post-Task 152
用于部署数据库的“database” role 153
用于部署Mezzanine 的“mezzanine” role 155
使用ansible-galaxy 创建role 文件与目录 160
从属role 160
Ansible Galaxy 161
Web 界面 161
命令行工具 162
向Galaxy 贡献你自己编写的role 163
第9章 让Ansible 快到飞起 165
SSH Multiplexing 与ControlPersist 165
手动启用SSH Multiplexing 166
Ansible 中的SSH Multiplexing 选项 167
pipelining 169
启用pipelining 169
将主机配置为支持pipelining 169
fact 缓存 171
JSON 文件fact 缓存后端 172
Redis fact 缓存后端 173
Memcached fact 缓存后端 173
并行性 174
加速模式 175
火球模式 175
第10章 自定义模块 177
范例:检测远程服务器是否可达 177
使用script 模块替代编写自己的模块 177
模块形式的can_reach 178
自定义模块该放到哪里 179
Ansible 如何调用模块 179
生成带有参数的独立Python 脚本(仅限Python 模块) 179
将模块复制到远程主机 179
在远程主机上创建参数文件(仅限非Python 模块) 179
调用模块 180
预期的输出 181
Ansible 预期的输出变量 181
使用Python 来实现模块 182
解析参数 183
访问参数 184
导入AnsibleModule 辅助类 184
参数选项 185
AnsibleModule 的初始化参数 188
返回成功或失败 191
调用外部命令 192
检测模式(dry run) 193
文档化你的模块 194
调试你的模块 196
使用Bash 实现模块 197
为Bash 指定替代的位置 198
范例模块 199
第11章 Vagrant 201
便捷的Vagrant 配置项 201
端口转发和私有IP 地址 201
启用agent forwarding 203
Ansible 置备器 203
置备器何时运行 204
由Vagrant 生成inventory 204
并行配置 205
指定群组 206
第12章 Amazon EC2 209
术语 211
实例 211
Amazon 系统镜像 211
标签 211
指定认证凭据 212
环境变量 212
配置文件 213
必要条件:Boto Python 库 213
动态inventory 214
inventory 缓存 216
其他配置项 217
自动生成群组 217
使用标签定义动态群组 217
把标签应用到现有资源 218
更好听的群组名 219
EC2 Virtual Private Cloud(VPC)和EC2 Classic 219
配置ansible.cfg 支持使用EC2 220
启动新的实例 221
EC2 密钥对 222
创建新的密钥 222
上传已有密钥 224
安全组 224
允许的IP 地址 226
安全组端口 226
获取最新的AMI 226
向群组中添加一个新的实例 227
等待服务器启动 230
创建实例的幂等性方法 231
全部加在一起 231
指定Virtual Private Cloud 233
动态inventory 和VPC 237
构建 AMI 238
使用ec2_ami 模块 238
使用Packer 238
其他模块 242
第13章 Docker 243
Docker 与Ansible 配合案例 244
Docker 应用的生命周期 244
容器化我们的Mezzanine 应用 245
使用Ansible 创建Docker 镜像 247
Mezzanine 248
其他的容器镜像 253
Postgres 253
Memcached 253
Nginx 254
certs 255
构建镜像 256
部署Docker 化的应用 256
启动数据库容器 257
获取数据库容器的IP 地址和映射端口 257
等待数据库启动 261
初始化数据库 263
启动Memcached 容器 264
启动Mezzanine 容器 264
启动证书容器 265
启动Nginx 容器 265
完整的playbook 266
第14章 调试Ansible playbook 269
调试SSH 问题 269
debug 模块 271
assert 模块 271
在执行前检查你的playbook 273
语法检查 273
列出主机 273
列出task 274
检测模式 274
diff(显示文件差异) 275
限制特定的task 运行 275
step 275
start-at-task 276
tags 276
继续向前 277
附录A SSH 279
附录B 默认设置 289
附录C 为EC2 证书使用IAM role 293
术语 297
参考文献 303
索引 305


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

Linux口袋书

《Linux口袋书》

[美]巴瑞特(Barrett,D.J.).电子工业出版社.2013-6

“本书是一本精简的Linux 入门指南,简要阐述了Linux 的基本观念,涵盖Linux 的许多命令和功能,并以精辟的范例...”

Why Programs Fail

《Why Programs Fail》

泽勒.电子工业出版社.2007-3

“”

Getting Started with Grunt

《Getting Started with Grunt》

Jaime Pillora.Packt Publishing.2014-2-19

“”

Java程序员面试宝典(第4版)

《Java程序员面试宝典(第4版)》

欧立奇,朱梅,段韬.电子工业出版社.2015-10-1

“本书是《Java程序员面试宝典》的第4版,同时也是《程序员面试宝典》的姊妹书。 第4版在保留前三版数据结构、字符串处理、...”

黑客攻防 Web安全实战详解

《黑客攻防 Web安全实战详解》

赵彬.中国铁道出版社.2014-7

“本书用3篇共计9章的篇幅向读者介绍了当前网络安全之中重要的领域:Web安全,作者通过网络安全基础知识的精炼讲述,入侵环境...”

Zabbix企业级分布式监控系统

《Zabbix企业级分布式监控系统》

吴兆松.电子工业出版社.2014-8-1

“本书从运维(OPS)角度对Zabbix的各项功能进行了详细介绍,以自动化运维视角为出发点,对Zabbix的安装和配置、自...”

java语言袖珍指南

《java语言袖珍指南》

Robert Liguori,Patricia Liguori.O'Reilly.2014-11

“当你需要快速查找编写或调试Java程序方面的知识时,本指南可使你方便地参考Java编程语言及其平台的标准功能。你从中会找...”

Design by Contract原则与实践

《Design by Contract原则与实践》

米切尔(Mitchell Richard).人民邮电出版社.2003-10

“《Design by Contract原则与实践》是国内第一本系统阐述“契约式设计”思想和方法的译作,深刻理解和充分发挥...”

深入网站开发与运维

《深入网站开发与运维》

[美] Matthew Sacks.人民邮电出版社.2014-4-15

“在开发和运维方面,如今的大型网站承受着巨大的压力。随着敏捷方法的实施,问题变得更加严重。管理网站、部署应用、维护运作等任...”

安卓工程师教你玩转Android

《安卓工程师教你玩转Android》

一得.电子工业出版社.2012-11

“《安卓工程师教你玩转Android》内容丰富、图文并茂,授人以鱼、更授人以渔,既可以作为Android智能设备入门者的教...”

Excel 2003高级VBA编程宝典

《Excel 2003高级VBA编程宝典》

John Walkenbach.电子工业出版社.2005-10

“本书是专门为在Excel 2003中使用VBA编程而编写的一部专著。 全书共分8个部分,主要包括Excel 2003的基...”

赢在测试2

《赢在测试2》

蔡为东.电子工业出版社.2013-5

“《赢在测试2:中国软件测试专家访谈录》是一本传承软件测试经验和职业、人生经验的书。作者选择了国内十位有代表性的软件测试专...”

Java深度历险

《Java深度历险》

王森.华中科技大学出版社.2003-12-1

“《Java深度历险(附光盘)》由华中科技大学出版社出版,7年来,Java已发展得非常成熟,市面上有太多介绍Java程序语...”

24小时365天不间断服务

《24小时365天不间断服务》

[日] 伊藤直也,[日] 胜见祐己,[日] 田中慎司,[日] 广濑正明,[日] 安井真伸,[日] 横川和哉.人民邮电出版社.2015-1

“本书是著名的网络服务供应商Hatena和Klab有限公司的工程师团队的经验总结。全书从实际的生产环境出发,就大规模、高性...”

Joel on Software

《Joel on Software》

Joel Spolsky.Apress.02 August, 2004

“This book covers every imaginable aspect of softward program...”

Ubuntu官方指南

《Ubuntu官方指南》

(美)Benjamin Mako Hill;Jono Bacon;Corey Burger;Jonathan Jesse;Ivan Krstic.人民邮电出版社.2007年5月

“本书是Ubuntu第一个长期支持版本的官方指南。 . 本书首先介绍了Ubuntu的历史、Ubuntu及其相关项目Kubu...”

ElasticSearch Cookbook, Second Edition

《ElasticSearch Cookbook, Second Edition》

Alberto Paro.Packt Publishing - ebooks Account.2015-1-28

“”

自己动手设计物联网

《自己动手设计物联网》

黄峰达.电子工业出版社.2016-7

“物联网是一个跨领域的学科,涉及方方面面的知识,包括硬件、软件、网络、协议等,这些知识很难在一本书里详细展开。目前很多关于...”

Software Architecture Patterns

《Software Architecture Patterns》

Mark Richards..2015-2

“The success of any application or system depends on the arch...”

软件工程:实践者的研究方法(原书第 5 版)

《软件工程:实践者的研究方法(原书第 5 版)》

Roger S.Pressman.机械工业出版社.2002.9

“本书是20多年来一直在软件工程的教学、科研和应用中享有盛誉的经典著作―《软件工程:实践者的研究方法》(Software ...”