主页 详情

《奔跑吧ANSIBLE》_(加)LORIN HOCHSTEIN著;陈尔冬译_13918610_9787121275074

【书名】:《奔跑吧ANSIBLE》
【作者】:(加)LORIN HOCHSTEIN著;陈尔冬译
【出版社】:北京:电子工业出版社
【时间】:2016
【页数】:318
【ISBN】:9787121275074
【SS码】:13918610

最新查询

内容简介

第1章 概述

关于版本的说明

Ansible的优点

Ansible如何运作

Ansible的精妙设计有哪些

易读的语法

远程主机无须安装任何依赖

基于推送模式

Ansible管理小规模集群

内置模块

非常轻量的抽象层

Ansible太过于简单了吗

我需要具备哪些基础知识

哪些内容不会涉及

安装Ansible

建立一台用于测试的服务器

使用Vagrant来创建测试服务器

将测试服务器的信息配置在Ansible中

使用ansible.cfg文件来简化配置

继续前进

第2章 playbook:一切的开端

一些准备工作

一个简单的playbook

指定一个nginx配置文件

创建一个定制的首页

创建一个webservers群组

运行这个playbook

playbook是YAML格式的

文件的起始

注释

字符串

布尔型

列表

字典

折行

剖析playbook

play

task

模块

将它们整合在一起

执行Ansible后发生变化了吗?跟踪主机状态

来点更酷炫的:添加TLS支持

生成TLS证书

变量

生成nginx配置模板

handler

运行playbook

第3章 inventory:描述你的服务器

inventory文件

准备工作:创建多台Vagrant虚拟机

inventory行为参数

ansible_connection

ansible_shell_type

ansible_python_interpreter

ansible_*_interpreter

改变行为参数的默认值

群组

范例:部署一个Django应用

别名和端口

群组嵌套

编号主机(宠物vs公牛)

主机与群组变量:在inventory 内部

主机和群组变量:在各自的文件中

动态inventory

动态inventory脚本的接口

编写动态inventory脚本

预装的inventory脚本

将inventory分割到多个文件中

使用add_host和group_by在运行时添加条目

add_host

group_by

第4章 变量与fact

在playbook 中定义变量

查看变量的值

注册变量

fact

查看与某台服务器关联的所有fact

查看fact子集

任何模块都可以返回fact

本地fact

使用set fact定义新变量

内置变量

hostvars

inventory_hostname

groups

在命令行设置变量

优先级

第5章 初识Mezzanine:我们的测试应用

为什么向生产环境部署软件是一件复杂的事

PostgreSQL:数据库

Gunicon:应用服务器

nginx:Web服务器

Supervisor:进程管理器

第6章 使用Ansible部署Mezzanine

列出playbook中的task

组织要部署的文件

变量与私密变量

使用迭代(with_items)安装多个软件包

向task中添加sudo语句

更新apt缓存

使用Git来Check Out项目源码

将Mezzanine和其他软件包安装到virtualenv中

task中的复杂参数:稍微跑个题

创建数据库和数据库用户

从模板生成local_settingspy文件

运行django-manage命令

在应用环境中运行自定义的Python脚本

设置服务的配置文件

启用nginx配置文件

安装TLS证书

安装Twitter计划任务

playbook全文

在Vagrant虚拟机上运行playbook

将Mezzanine部署到多台主机

第7章 复杂playbook

在控制主机上运行task

在涉及的主机以外的机器上运行task

手动采集fact

逐台主机运行

只执行一次

处理不利行为命令:changed_when和failed_when

从主机获取IP地址

使用Vault加密敏感数据

通过模式匹配指定主机

限定某些主机运行

过滤器

default过滤器

用于注册变量的过滤器

应用于文件路径的过滤器

编写你自己的过滤器

lookup

file

pipe

env

password

template

csvfile

dnstxt

redis_kv

etcd

编写你自己的lookup插件

更复杂的循环

with_lines

with_fileglob

with_dict

将循环结构用作lookup插件

第8章 role:扩展你的playbook

role的基本构成

范例:Database和Mezzanine role

在你的playbook中使用role

PreTask和PostTask

用于部署数据库的“database”role

用于部署Mezzanine的“mezzanine”role

使用ansible-galaxy创建role文件与目录

从属role

Ansible Galaxy

Web界面

命令行工具

向Galaxy贡献你自己编写的role

第9章 让Ansible快到飞起

SSH Multiplexing与ControlPersist

手动启用SSH Multiplexing

Ansible 中的SSH Multiplexing选项

pipelining

启用pipelining

将主机配置为支持pipelining

fact缓存

JSON文件fact缓存后端

Redis fact缓存后端

Memcached fact缓存后端

并行性

加速模式

火球模式

第10章 自定义模块

范例:检测远程服务器是否可达

使用script模块替代编写自己的模块

模块形式的can reach

自定义模块该放到哪里

Ansible如何调用模块

生成带有参数的独立Python脚本(仅限Python模块)

将模块复制到远程主机

在远程主机上创建参数文件(仅限非Python模块)

调用模块

预期的输出

Ansible预期的输出变量

使用Python来实现模块

解析参数

访问参数

导入AnsibleModule辅助类

参数选项

AnsibleModule的初始化参数

返回成功或失败

调用外部命令

检测模式(dry run)

文档化你的模块

调试你的模块

使用Bash实现模块

为Bash指定替代的位置

范例模块

第11章 Vagrant

便捷的Vagrant配置项

端口转发和私有IP地址

启用agent forwarding

Ansible置备器

置备器何时运行

由Vagrant生成inventory

并行配置

指定群组

第12章 Amazon EC2

术语

实例

Amazon系统镜像

标签

指定认证凭据

环境变量

配置文件

必要条件:Boto Python库

动态inventory

inventory缓存

其他配置项

自动生成群组

使用标签定义动态群组

把标签应用到现有资源

更好听的群组名

EC2 Virtual PrivateCloud(VPC)和EC2 Classic

配置ansiblecfg支持使用EC2

启动新的实例

EC2密钥对

创建新的密钥

上传已有密钥

安全组

允许的IP地址

安全组端口

获取最新的AMI

向群组中添加一个新的实例

等待服务器启动

创建实例的幂等性方法

全部加在一起

指定Virtual Private Cloud

动态inventory和VPC

构建AMI

使用ec2_ami模块

使用Packer

其他模块

第13章 Docker

Docker与Ansible配合案例

Docker应用的生命周期

容器化我们的Mezzanine应用

使用Ansible创建Docker镜像

Mezzanine

其他的容器镜像

Postgres

Memcached

Nginx

certs

构建镜像

部署Docker化的应用

启动数据库容器

获取数据库容器的IP地址和映射端口

等待数据库启动

初始化数据库

启动Memcached容器

启动Mezzanine容器

启动证书容器

启动Nginx容器

完整的playbook

第14章 调试Ansible playbook

调试SSH问题

debug模块

assert模块

在执行前检查你的playbook

语法检查

列出主机

列出task

检测模式

diff(显示文件差异)

限制特定的task运行

step

start-at-task

tags

继续向前

附录A SSH

附录B 默认设置

附录C 为EC2证书使用IAM role

术语

参考文献

索引


书查询(www.shuchaxun.com)本网页唯一编码:
112ca78c19d55b2fdf7c338918b49e85#e3252cf2d9b3f4f7f2a56d97dbf1fa13#35076681#13918610.zip