DevOps实战:VMware管理员运维方法、工具及最佳实践
出版时间:2016
内容简介
本书由VMware技术专家撰写,是一本写给VMware管理员的DevOps权威指南。书中既系统介绍了DevOps的基础概念和流行的工具,涵盖DevOps环境配置、维护、编排、管理的各个环节,又详细讲解改变管理系统和交付服务的方法,并且包含大量实例,可以帮助你快速了解并掌握DevOps工具、方法及最佳实践。全书共19章,第1章讨论DevOps的概念;第2章介绍DevOps从业人员的一些流行工具;第3章介绍测试环境的建立;第4~6章介绍Puppet配置管理解决方案;第7~9章介绍Chef配置管理解决方案;第10章和第11章介绍Ansible配置管理和编排解决方案,第12章介绍Powershell预期状态配置;第13章探索VMware管理员在其环境中实施PowerShell DSC的方法;第14章讨论Linux容器的使用;第15章进一步讨论Linux容器,介绍Google Kubernetes;第16章描述如何安装、配置和使用Razor;第17章介绍Elasticsearch、Logstash和Kibana(ELK)栈;第18章介绍用于持续集成的Jenkins,讨论在代码提交到源代码库之后如何自动交付;第19章讨论VMware自身的DevOps倡议。
目录
译者序
前言
致谢
关于作者
关于评审人员
关于贡献者
第一部分 DevOps概述
第1章 DevOps简介 2
1.1 DevOps原则概述 2
1.2 采用系统思维 3
1.2.1 改变团队的互动方式 4
1.2.2 改变基础设施部署方法 5
1.2.3 改变软件开发和部署方法 6
1.2.4 经常收集和响应有用的系统反馈并相应调整 6
1.3 增进DevOps知识和技能 6
1.4 小结 7
参考文献 7
第2章 DevOps工具 8
2.1 为成功而组织:看板 8
2.2 服务器部署 11
2.3 配置管理 11
2.4 持续集成 12
2.5 日志分析 12
2.6 小结 12
参考文献 12
第3章 建立DevOps配置管理测试环境 13
3.1 用AutoLab进行环境配给 13
3.2 用Vagrant进行环境配给 14
3.3 用Packer创建映像 18
3.4 管理源代码 18
3.5 小结 24
参考文献 24
第二部分 Puppet
第4章 Puppet简介 26
4.1 Puppet架构 26
4.1.1 独立部署 27
4.1.2 主机-代理部署 27
4.2 准备Puppet测试实验室 28
4.3 Puppet资源 29
4.4 Puppet清单 30
4.5 Puppet模块 35
4.5.1 Puppet Forge 37
4.5.2 创建第一个Puppet模块 37
4.5.3 Puppet模块初始化清单(init.pp) 38
4.5.4 模板 39
4.5.5 使用Puppet模块 42
4.5.6 最后一步:版本控制提交 42
4.6 小结 42
参考文献 42
第5章 Puppet系统管理任务 43
5.1 用数据分离优化Web层 43
5.1.1 参数类(params.pp) 45
5.1.2 Hiera 48
5.1.3 节点分类 51
5.2 应用层 51
5.3 数据库层 53
5.4 实施生产建议措施 53
5.5 部署应用程序环境 54
5.6 小结 54
参考文献 54
第6章 用Puppet进行VMware vSphere管理 55
6.1 Puppet的VMware vSphere云配给器 55
6.1.1 准备VM模板 55
6.1.2 准备Puppet主服务器 56
6.2 VMware的管理模块 58
6.3 小结 63
参考文献 63
第三部分 Chef
第7章 Chef简介 66
7.1 什么是Chef 66
7.2 Chef的核心思想 67
7.2.1 食谱的顺序 67
7.2.2 幂等性 67
7.2.3 基于API的服务器 67
7.2.4 客户端进行所有搜集工作 68
7.2.5 测试驱动基础设施 68
7.3 Chef术语 68
7.3.1 食谱 68
7.3.2 烹调书 68
7.3.3 属性 68
7.3.4 角色 68
7.3.5 运行列表 69
7.3.6 资源 69
7.3.7 环境 69
7.4 托管Chef和Chef Server之间的差别 69
7.4.1 托管Chef 69
7.4.2 Chef Server 69
7.5 ChefDK简介 70
7.5.1 ChefDK是什么 70
7.5.2 安装ChefDK 70
7.6 使用Knife 72
7.7 创建第一个“你好,世界”的Chef食谱 73
7.8 小结 76
第8章 使用Chef完成系统管理任务 77
8.1 注册托管Chef 78
8.2 社区烹调书 81
8.3 设置系统管理 81
8.3.1 准备/设置系统管理任务1:管理时间 82
8.3.2 准备/设置系统管理任务2:管理根密码 83
8.4 配置虚拟客户机 84
8.5 系统管理任务 86
8.6 管理根密码 89
8.6.1 创建两个环境文件 89
8.6.2 将环境文件上传到托管Chef组织 90
8.6.3 为每个服务器分配一个环境 91
8.6.4 修改每个服务器的运行列表,以运行Managedroot烹调书 91
8.6.5 对节点应用更改 92
8.6.6 校验实施的策略 93
8.7 小结 94
参考文献 94
第9章 用Chef管理VMware vSphere 95
9.1 Knife插件 96
9.1.1 knife-vsphere入门 97
9.1.2 配置knife.rb文件 97
9.1.3 校验配置 99
9.1.4 组合 99
9.2 Chef配给 101
9.2.1 Chef配给架构 102
9.2.2 Chef配给入门 102
9.2.3 启动某些节点 103
9.3 小结 105
第四部分 Ansible
第10章 Ansible简介 108
10.1 Ansible架构 108
10.2 准备Ansible测试实验室 109
10.3 Ansible组 110
10.4 Ansible临时命令执行 110
10.4.1 Ping模块 111
10.4.2 Command模块 111
10.4.3 User模块 111
10.4.4 Setup模块 112
10.5 Ansible剧本 112
10.6 Ansible角色 117
10.7 Ansible Galaxy 121
10.8 小结 121
参考文献 121
第11章 Ansible系统管理任务 122
11.1 Web服务器部署 122
11.2 应用层 123
11.3 数据库层 124
11.4 角色结构优化 126
11.5 VMware资源管理 128
11.6 小结 132
参考文献 132
第五部分 PowerShell
第12章 PowerShell预期状态配置简介 134
12.1 什么是PowerShell DSC 134
12.2 PowerShell DSC需求 135
12.3 PowerShell DSC组件 136
12.3.1 原生命令集 136
12.3.2 托管对象格式文件 136
12.3.3 本地配置管理器 137
12.4 PowerShell DSC配置 138
12.5 PowerShell DSC模式 140
12.5.1 本地推送模式 140
12.5.2 远程推送模式 140
12.5.3 拉取模式 141
12.6 PowerShell DSC资源 142
12.7 小结 144
参考文献 144
第13章 PowerShell DSC实施策略 145
13.1 PowerShell DSC在VMware环境中的用例 145
13.2 用PowerCLI进行脚本化VM部署 146
13.3 在VM模板中加入PowerShell DSC 148
13.4 对新VM实施PowerShell DSC配置所面临的挑战 148
13.4.1 PowerCLI Invoke-VMscript 149
13.4.2 PowerCLI Copy-VMGuestFile 150
13.5 经验教训总结 151
13.6 未来PowerShell DSC在VMware环境中的用例 151
13.7 小结 152
参考文献 152
第六部分 利用容器进行应用程序部署
第14章 Docker应用容器简介 154
14.1 什么是应用程序 154
14.1.1 隐藏的复杂性 154
14.1.2 依赖性和配置冲突 155
14.2 Linux容器 155
14.2.1 控制组 155
14.2.2 命名空间 156
14.2.3 容器管理 157
14.3 使用Docker 157
14.3.1 安装Docker 157
14.3.2 Docker守护进程 158
14.3.3 Docker客户端 158
14.3.4 Docker索引 158
14.3.5 运行Docker容器 158
14.3.6 列出运行的容器 159
14.3.7 连接到运行的容器 159
14.3.8 构建和分发Docker容器 161
14.3.9 Dockerfile 161
14.3.10 Docker Hub 162
14.3.11 Docker与虚拟机的对比 163
14.3.12 Docker与配置管理的对比 163
14.4 小结 163
参考文献 16