内容简介
第一部分DevOps概述
第1章 DevOps简介
1.1 DevOps原则概述
1.2 采用系统思维
1.2.1 改变团队的互动方式
1.2.2 改变基础设施部署方法
1.2.3 改变软件开发和部署方法
1.2.4 经常收集和响应有用的系统反馈并相应调整
1.3 增进DevOps知识和技能
1.4 小结
参考文献
第2章 DevOps工具
2.1 为成功而组织:看板
2.2 服务器部署
2.3 配置管理
2.4 持续集成
2.5 日志分析
2.6 小结
参考文献
第3章 建立DevOps配置管理测试环境
3.1 用AutoLab进行环境配给
3.2 用Vagrant进行环境配给
3.3 用Packer创建映像
3.4 管理源代码
3.5 小结
参考文献
第二部分Puppet
第4章 Puppet简介
4.1 Puppet架构
4.1.1 独立部署
4.1.2 主机-代理部署
4.2 准备Puppet测试实验室
4.3 Puppet资源
4.4 Puppet清单
4.5 Puppet模块
4.5.1 Puppet Forge
4.5.2 创建第一个Puppet模块
4.5.3 Puppet模块初始化清单(init…pp)
4.5.4 模板
4.5.5 使用Puppet模块
4.5.6 最后一步:版本控制提交
4.6 小结
参考文献
第5章 Puppet系统管理任务
5.1 用数据分离优化Web层
5.1.1 参数类(params.pp)
5.1.2 Hiera
5.1.3 节点分类
5.2 应用层
5.3 数据库层
5.4 实施生产建议措施
5.5 部署应用程序环境
5.6 小结
参考文献
第6章 用Puppet进行VMware vSphere管理
6.1 Puppet的VMware vSphere云配给器
6.1.1 准备VM模板
6.1.2 准备Puppet主服务器
6.2 VMware的管理模块
6.3 小结
参考文献
第三部分Chef
第7章 Chef简介
7.1 什么是Chef
7.2 Chef的核心思想
7.2.1 食谱的顺序
7.2.2 幂等性
7.2.3 基于API的服务器
7.2.4 客户端进行所有搜集工作
7.2.5 测试驱动基础设施
7.3 Chef术语
7.3.1 食谱
7.3.2 烹调书
7.3.3 属性
7.3.4 角色
7.3.5 运行列表
7.3.6 资源
7.3.7 环境
7.4 托管Chef和Chef Server之间的差别
7.4.1 托管Chef
7.4.2 Chef Server
7.5 ChefDK简介
7.5.1 ChefDK是什么
7.5.2 安装ChefDK
7.6 使用Knife
7.7 创建第一个“你好,世界”的Chef食谱
7.8 小结
第8章 使用Chef完成系统管理任务
8.1 注册托管Chef
8.2 社区烹调书
8.3 设置系统管理
8.3.1 准备/设置系统管理任务1:管理时间
8.3.2 准备/设置系统管理任务2:管理根密码
8.4 配置虚拟客户机
8.5 系统管理任务
8.6 管理根密码
8.6.1 创建两个环境文件
8.6.2 将环境文件上传到托管Chef组织
8.6.3 为每个服务器分配一个环境
8.6.4 修改每个服务器的运行列表,以运行Managedroot烹调书
8.6.5 对节点应用更改
8.6.6 校验实施的策略
8.7 小结
参考文献
第9章 用Chef管理VMware vSphere
9.1 Knife插件
9.1.1 knife-vsphere入门
9.1.2 配置knife.rb文件
9.1.3 校验配置
9.1.4 组合
9.2 Chef配给
9.2.1 Chef配给架构
9.2.2 Chef配给入门
9.2.3 启动某些节点
9.3 小结
第四部分Ansible
第10章 Ansible简介
10.1 Ansible架构
10.2 准备Ansible测试实验室
10.3 Ansible组
10.4 Ansible临时命令执行
10.4.1 Ping模块
10.4.2 Command模块
10.4.3 User模块
10.4.4 Setup模块
10.5 Ansible剧本
10.6 Ansible角色
10.7 Ansible Galaxy
10.8 小结
参考文献
第11章 Ansible系统管理任务
11.1 Web服务器部署
11.2 应用层
11.3 数据库层
11.4 角色结构优化
11.5 VMware资源管理
11.6 小结
参考文献
第五部分PowerShell
第12章 PowerShell预期状态配置简介
12.1 什么是PowerShell DSC
12.2 PowerShell DSC需求
12.3 PowerShell DSC组件
12.3.1 原生命令集
12.3.2 托管对象格式文件
12.3.3 本地配置管理器
12.4 PowerShell DSC配置
12.5 PowerShell DSC模式
12.5.1 本地推送模式
12.5.2 远程推送模式
12.5.3 拉取模式
12.6 PowerShell DSC资源
12.7 小结
参考文献
第13章 PowerShell DSC实施策略
13.1 PowerShell DSC在VMware环境中的用例
13.2 用PowerCLI进行脚本化VM部署
13.3 在VM模板中加入PowerShell DSC
13.4 对新VM实施PowerShell DSC配置所面临的挑战
13.4.1 PowerCLIInvoke-VMscript
13.4.2 PowerCLI Copy-VMGuestFile
13.5 经验教训总结
13.6 未来PowerShell DSC在VMware环境中的用例
13.7 小结
参考文献
第六部分 利用容器进行应用程序部署
第14章 Docker应用容器简介
14.1 什么是应用程序
14.1.1 隐藏的复杂性
14.1.2 依赖性和配置冲突
14.2 Linux容器
14.2.1 控制组
14.2.2 命名空间
14.2.3 容器管理
14.3 使用Docker
14.3.1 安装Docker
14.3.2 Docker守护进程
14.3.3 Docker客户端
14.3.4 Docker索引
14.3.5 运行Docker容器
14.3.6 列出运行的容器
14.3.7 连接到运行的容器
14.3.8 构建和分发Docker容器
14.3.9 Dockerfile
14.3.10 Docker Hub
14.3.11 Docker与虚拟机的对比
14.3.12 Docker与配置管理的对比
14.4 小结
参考文献
第15章 大规模运行Docker容器
15.1 容器编排
15.2 Kubernetes
15.3 Kubernetes部署
15.3.1 CoreOS和Kubernetes群集管理工具
15.3.2 CoreOS群集部署
15.3.3 etcd服务器配置
15.3.4 Flannel网络覆盖
15.3.5 Kubernetes群集节点
15.3.6 Kubernetes服务部署
15.3.7 Kubernetes 工作负载部署
15.4 用Docker实现平台即服务
15.5 小结
参考文献
第七部分DevOps 工具链
第16章 使用Razor配给服务器
16.1 Razor的工作原理
16.2 使用Razor
16.2.1 Razor集合和操作
16.2.2 构建Razor集合
16.3 使用Razor API
16.4 Razor组件
16.4.1 Razor服务器
16.4.2 Razor微内核
16.4.3 Razor客户端
16.5 安装Razor
16.5.1 PE Razor
16.5.2 Puppet安装
16.5.3 从来源安装
16.5.4 人工安装发行版本
16.5.5 其他服务
16.6 小结
参考文献
第17章 ELK—— Elasticsearch 、Logstash和Kibana简介
17.1 Elasticsearch概述
17.1.1 入门
17.1.2 理解索引
17.1.3 使用数据
17.1.4 安装插件
17.1.5 使用客户端
17.2 Logstash概述
17.2.1 入门
17.2.2 配置Logstash输入
17.2.3 应用过滤器
17.2.4 理解输出
17.3 Kibana概述
17.3.1 共享和保存
17.3.2 自定义数据视图
17.4 小结
参考文献
第18章 用Jenkins实现持续集成
18.1 持续集成概念
18.1.1 持续集成还是持续部署
18.1.2 测试自动化
18.2 Jenkins架构
18.3 Jenkins部署
18.4 Jenkins工作流
18.4.1 Jenkins服务器配置
18.4.2 Jenkins构建任务
18.4.3 Git钩子
18.4.4 你的第一次构建
18.5 质量保证团队
18.5.1 验收测试
18.5.2 开发团队
18.5.3 构建/测试基础设施
18.6 小结
参考文献
第八部分VMware DevOps实践
第19章 DevOps环境中的VMware vRealize Automation
19.1 DevOps的出现
19.2 稳定的敏捷性
19.3 人、过程和Conway法则
19.4 vRealize Automation
19.5 vRealize Application Services
19.6 Puppet集成
19.7 Code Stream
19.8 小结
参考文献