描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121361708
DevOps 1
容器 2
容器编排 2
持续集成 3
持续交付 3
持续部署 3
管道 4
软件配置管理 5
部署模式 5
持续改进 5
总结 6
第2章 OpenShift一体化安装 7
软件依赖 8
安装OpenShift和客户端工具 9
安装Docker 10
启动OpenShift 11
验证环境 14
使用命令行登录 14
使用控制台登录 15
设置存储 17
创建持久化卷 17
设置卷声明 19
创建Github账户 20
其他方式 20
总结 21
第3章 部署 22
复制控制器(Replication Controller) 22
部署策略 23
滚动策略 23
触发器 25
重建策略 27
自定义策略 28
生命周期挂钩 28
部署Pod资源 34
蓝绿部署 35
A/B部署 37
灰度部署 40
回滚 41
总结 44
第4章 管道(Pipeline) 45
我们的第一个Pipeline例子 45
Pipeline组件 49
探究Pipeline的细节 50
探索Jenkins 52
多项目Pipeline示例 54
构建、标记、提交 54
创建项目 55
添加基于角色的访问控制 57
部署Jenkins和Pipeline 57
部署示例应用 59
运行Pipeline 61
快速部署一个新分支 63
管理镜像的变化 64
级联式的Pipeline 66
自定义Jenkins 69
并行构建任务 72
总结 73
第5章 配置管理 74
Secret 75
创建Secret 75
在Pod中使用Secret 76
额外说明 80
ConfigMap 81
创建ConfigMap 81
ConfigMap以卷的形式挂载 82
ConfigMap以环境变量的形式挂载 83
环境变量 85
添加环境变量 85
删除环境变量 86
更改触发器 87
标签与注释 90
标签示例 90
注释示例 91
Downward API 91
处理大型配置数据集 94
持久卷 94
镜像分层 95
总结 96
第6章 构建自定义镜像 97
镜像构建 97
构建策略 97
构建源 98
构建配置 99
创建构建配置 102
源码镜像 102
S2I过程 104
自定义S2I脚本 105
构建环境 105
自定义S2I构建器 106
构建器镜像 106
S2I脚本 108
添加一个构建器镜像 109
构建一个示例应用 110
替代方法 111
故障排查 114
总结 115
第7章 应用管理 116
日志集成 117
容器日志是短暂的 117
日志聚合 118
Kibana 120
常用的Kibana查询 121
简单监控 123
资源调度 126
配额 128
配额范围 131
配额执行 132
限制范围和请求 133
多项目配额 135
应用 136
驱逐和Pod重新调度 137
超卖 138
Pod自动扩缩 138
使用Jolokia基于Java应用程序的监控和管理 141
总结 146
后记 148
涵盖范围 148
结束语 149
附录A OpenShift和12 Factor App 150
基准代码 152
依赖 152
配置 153
后端服务 153
构建、发布、运行 154
进程 155
开发环境与线上环境一致 156
日志 157
管理进程 157
安全 158
总结 159
读者调查表 160
电子工业出版社编著书籍推荐表 162
假如你老去,别再试图改变自己,尝试改变环境吧。
—B. F. Skinner
DevOps的目标之一,是它有助于解决软件领域中的“最后一公里”问题,即价值交付问题。若想实现更好的价值交付,需要以诸如团队合作、成果反馈、大量测试等作为前提,这些行为会在以产品更优秀、交付更快捷、成本更低廉为理想目标时被强化。对许多人来说,DevOps已经迅速转变成为自动化的代名词。因为自动化是一种相对可行的环境干预形式。所以,如果你想改变行为习惯,先试试改变环境吧!
在这种情况下,自动化成为一种具有重要战略意义的投资决策,DevOps自动化工程师们面临着许多设计层面的抉择,比如,对于接口来讲,抽象到什么层次更适合自动化工具?应该以什么为标准来找到基础设施自动化和以应用程序为中心的临界点?
这些问题很重要,因为自动化工具与软件交付过程中的所有参与者息息相关,需要好的解决方式促使所有人都产生积极的合作。而与基础设施供给解耦的自动化过程使快速租用新的项目流程成为可能,用户在无须申请新的基础设施的情况下就能迅速地实现自助服务。
我们想把创新的过程分享给你,无论你是以一当十的大牛程序员,还是普通开发者,都可以尝试使用OpenShift来进行DevOps相关的工作,使自动服务成为可能。本书将为你展示如何做到这一点。
这是一本实用指南,它将展示如何使用OpenShift轻松地实现自动化云部署模式。OpenShift容器管理平台为用户提供了一个自助服务平台,平台中的本地容器允许我们向你展示一个以应用程序为中心的视图来查看自动化过程。
谁应该读这本书
如果你渴望了解DevOps,那么这本书就是为你准备的。它是为那些想要学习如何通过OpenShift来实现持续集成、交付和部署的自动化软件交付过程的程序员而设计的。
值得注意的是,针对这个问题,我们有意采用以应用程序工作负载为中心的观点。有关OpenShift系统整体管理与操作的内容将成为O’Reilly OpenShift系列的主题。
我们将逐步介绍如何开发基于容器的应用程序,这些程序可以通过管道和强大的部署模式进行简单、安全的更改。从启动OpenShift作为你本地一体化镜像的几个简单步骤开始,我们将介绍应用程序的环境配置、持久卷声明、A/B部署、蓝绿发布、滚动或替换部署策略的示例,还将解释和演示使用webhook技术进行第三方工具链集成的技术。
本书以OpenShift for Developers为基础,假设你已经了解一些与OpenShift开发基本概念有关的背景知识,例如:
? 开发和部署应用程序;
? 使用应用程序模板;
? 管理应用程序工作负载;
? 使用Docker镜像。
我们还假设你熟悉基本的Linux或Windows的shell命令,以及如何在计算机上安装一些额外的软件。这些软件将为你提供一个完整的、可用的、能本地开发与测试的OpenShift环境。
在本书中,使用了很多PHP和Node.js的应用作为示例,但是读者不必精通PHP或Node.js,你只要熟悉任何一种流行的编程语言,你都会做得很好。
我们为什么要写这本书
作为红帽的顾问,我们经常被要求帮助客户部署并广泛采用OpenShift来作为他们的容器管理平台,他们被OpenShift吸引,并将其视为提高敏捷性和响应性的推动技术。在这种情况下,可修改性成为所有非功能性需求中最重要的特性。持续的改进需要用户不断的反馈,我们发现,对实时用户来说,推送、测试,然后前滚或回滚一些对应用程序小的修改的能力,对于实现上述OpenShift的特性是十分重要的。在本书中,我们希望能帮助你通过使用OpenShift来实现DevOps的实践,使你能够快速地交付高质量的应用程序,并为你的用户带来不同的体验。
评论
还没有评论。