《开源容器云OpenShift 构建基于Kubernetes的企业应用云平台》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈耿著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111569510
  • 页数:253 页
图书介绍:本书介绍的OpenShift是基于Docker和Kubernetes构建的开源的容器云,是为帮助企业、组织搭建及管理基于容器的应用平台产生的解决方案。通过OpenShift,企业可以快速地搭建稳定、安全、高效的容器应用平台。本书深入浅出地介绍如何搭建OpenShift容器云平台,并在这个平台上进行应用的开发和部署。探讨在OpenShift上如何满足软件研发常见的需求,如持续集成和交付,微服务化、数据持久化等。同时,探讨OpenShift的软件定义网络、高可用、配额控制等与运维息息相关的话题。

基础篇 2

第1章 开源容器云概述 2

1.1容器时代的IT 2

1.2开源容器云 3

1.3 OpenShift 4

1.4 Docker、 Kubernetes与OpenShift 6

1.4.1容器引擎 6

1.4.2容器编排 6

1.4.3容器应用云 7

1.5 OpenShift社区版与企业版 8

第2章 初探OpenShift容器云 10

2.1启动OpenShiftOrigin 10

2.1.1准备主机 11

2.1.2准备操作系统 11

2.1.3操作系统配置 11

2.1.4安装Docker 12

2.1.5下载OpenShift Origin安装包 13

2.1.6安装及启动OpenShift Origin 13

2.1.7登录OpenShift Origin控制台 14

2.2运行第一个容器应用 14

2.2.1创建项目 14

2.2.2部署Docker镜像 15

2.2.3访问容器应用 18

2.2.4一些疑问 19

2.3完善OpenShift集群 19

2.3.1命令行工具 19

2.3.2以集群管理员登录 21

2.3.3添加Router 22

2.3.4添加Registry 23

2.3.5添加Image Stream 24

2.3.6添加Template 25

2.4部署应用 27

2.5本章小结 32

第3章OpenShift架构探秘 33

3.1架构概览 33

3.1.1基础架构层 34

3.1.2容器引擎层 34

3.1.3容器编排层 34

3.1.4 PaaS服务层 35

3.1.5界面及工具层 35

3.2核心组件详解 35

3.2.1 Master节点 36

3.2.2 Node节点 37

3.2.3 Project与Namespace 38

3.2.4 Pod 38

3.2.5 Service 40

3.2.6 Router与Route 41

3.2.7 Persistent Storage 42

3.2.8 Registry 42

3.2.9 Source to Image 43

3.2.10开发及管理工具集 44

3.3核心流程详解 44

3.3.1应用构建 44

3.3.2应用部署 45

3.3.3请求处理 45

3.3.4应用更新 46

3.4本章小结 46

第4章OpenShift企业部署 47

4.1部署架构 47

4.1.1多环境单集群 47

4.1.2多环境多集群 48

4.1.3多个数据中心 48

4.2高级安装模式 49

4.2.1主机准备 50

4.2.2安装前预配置 50

4.2.3执行安装 53

4.2.4安装后配置 54

4.3离线安装 57

4.4集群高可用 58

4.4.1主控节点的高可用 58

4.4.2计算节点的高可用 59

4.4.3组件的高可用 59

4.4.4应用的高可用 60

4.5本章小结 60

开发篇 62

第5章 容器应用的构建与部署自动化 62

5.1一个Java应用的容器化之旅 62

5.2 OpenShift构建与部署自动化 64

5.2.1快速构建部署一个应用 65

5.2.2镜像构建:Build Config与Build 69

5.2.3镜像部署:Deployment Config与Deploy 72

5.2.4服务连通:Service与Route 76

5.3弹性伸缩 77

5.3.1 Replication Controller 77

5.3.2扩展容器实例 77

5.3.3状态自恢复 78

5.4应用更新发布 78

5.4.1触发更新构建 78

5.4.2更新部署 80

5.5本章小结 80

第6章 持续集成与部署 81

6.1部署Jenkins服务 81

6.2触发项目构建 83

6.2.1创建Jenkins项目 84

6.2.2添加构建步骤 84

6.2.3触发构建 85

6.3构建部署流水线 85

6.3.1创建开发测试环境项目 85

6.3.2创建集成测试环境项目 86

6.3.3创建生产环境项目 87

6.3.4配置访问权限 87

6.3.5创建集成测试环境部署配置 87

6.3.6创建生产环境部署配置 88

6.3.7创建DEV构建配置 88

6.3.8创建SIT构建配置 89

6.3.9创建RELEASE构建配置 90

6.3.10配置流水线 92

6.4流水线可视化 93

6.4.1安装流水线插件 93

6.4.2创建流水线视图 93

6.5 OpenShift流水线 95

6.5.1部署Jenkins实例 95

6.5.2部署示例应用 95

6.5.3查看流水线定义 96

6.5.4触发流水线构建 97

6.5.5修改流水线配置 99

6.6本章小结 100

第7章 应用的微服务化 101

7.1容器与微服务 101

7.1.1微服务概述 101

7.1.2微服务与容器 101

7.2微服务容器化 102

7.2.1基于现有的构建系统容器化微服务 103

7.2.2基于S2I容器化微服务 103

7.3服务部署 105

7.3.1单个微服务的部署 105

7.3.2多个微服务的部署 105

7.4服务发现 106

7.4.1通过Service进行服务发现 107

7.4.2服务目录与链接 108

7.5健康检查 108

7.5.1 Readniess与Liveness 108

7.5.2健康检查类型 109

7.6更新发布 110

7.6.1滚动更新 110

7.6.2发布回滚 112

7.6.3灰度发布 112

7.7服务治理 117

7.7.1 API网关 117

7.7.2微服务框架 117

7.8本章小结 118

第8章 应用数据持久化 119

8.1无状态应用与有状态应用 119

8.1.1非持久化的容器 119

8.1.2容器数据持久化 120

8.2持久化卷与持久化卷请求 120

8.3持久化卷与储存 123

8.3.1 Host Path 124

8.3.2 NFS 124

8.3.3 GlusterFS 124

8.3.4 Ceph 125

8.3.5 OpenStack Cinder 126

8.4存储资源定向匹配 127

8.4.1创建持久化卷 127

8.4.2标记标签 127

8.4.3创建持久化卷请求 127

8.4.4请求与资源定向匹配 128

8.4.5标签选择器 128

8.5实战:持久化的镜像仓库 129

8.5.1检查挂载点 129

8.5.2备份数据 130

8.5.3创建存储 130

8.5.4创建持久化卷 131

8.5.5创建持久化卷请求 131

8.5.6关联持久化卷请求 132

8.6本章小结 133

第9章 容器云上的应用开发 134

9.1开发工具集成 134

9.1.1下载开发工具 135

9.1.2下载命令行客户端 135

9.1.3安装及配置JBoss Tools插件 135

9.2部署应用 138

9.2.1检出应用源代码 138

9.2.2部署应用至OpenShift 138

9.2.3查看日志输出 141

9.2.4访问应用服务 142

9.3实时发布 143

9.3.1更新部署配置 143

9.3.2创建Server Adapter 144

9.3.3更新应用源代码 146

9.3.4查看更新后的应用 146

9.4远程调试 147

9.4.1修改部署配置 148

9.4.2转发远程端口 148

9.4.3设置断点 148

9.4.4启动远程调试 150

9.5本章小结 150

运维篇 154

第10章 软件定义网络 154

10.1软件定义网络与容器 154

10.1.1 Docker容器网络 154

10.1.2 Kubernetes容器网络 155

10.1.3 OpenShift容器网络 155

10.2网络实现 156

10.2.1节点主机子网 156

10.2.2节点设备构成 156

10.2.3网络结构组成 158

10.3网络连通性 159

10.3.1集群内容器间通信 159

10.3.2集群内容器访问集群外服务 161

10.3.3集群外应用访问集群内容器 161

10.4网络隔离 161

10.4.1配置多租户网络 162

10.4.2测试网络隔离 162

10.4.3连通隔离网络 163

10.5定制OpenShift网络 163

10.6本章小结 163

第11章 度量与日志管理 164

11.1容器集群度量采集 164

11.2部署容器集群度量采集 165

11.2.1配置Service Account 166

11.2.2配置证书 166

11.2.3部署度量采集模板 166

11.2.4更新集群配置 167

11.2.5查看容器度量指标 168

11.2.6进一步完善度量采集 168

11.3度量接口 168

11.3.1获取度量列表 170

11.3.2获取度量数据 170

11.4容器集群日志管理 171

11.5部署集群日志管理组件 172

11.5.1创建部署模板 172

11.5.2配置Service Account 173

11.5.3配置证书 173

11.5.4 部署日志组件模板 173

11.5.5更新集群配置 174

11.5.6查看容器日志 174

11.5.7进一步完善日志管理 174

11.6本章小结 175

第12章 安全与限制 176

12.1容器安全 176

12.2用户认证 177

12.2.1令牌 177

12.2.2 Indentity Provider 178

12.2.3用户与组管理 179

12.3权限管理 180

12.3.1权限对象 180

12.3.2权限操作 181

12.3.3自定义角色 184

12.4 Service Account 186

12.5安全上下文 187

12.6敏感信息管理 190

12.7额度配置 192

12.7.1计算资源额度 193

12.7.2对象数量额度 194

12.7.3额度对象的使用 195

12.8资源限制 196

12.8.1 Limit Range对象 196

12.8.2 QoS 198

12.9本章小结 199

第13章 集群运维管理 200

13.1运维规范 200

13.1.1规范的制定 200

13.1.2规范的维护 201

13.1.3规范的执行 201

13.2节点管理 201

13.2.1 Cockpit 202

13.2.2安装配置Cockpit 202

13.2.3 Cockpit与系统运维 203

13.2.4 Cockpit与集群运维 203

13.3集群扩容 208

13.3.1集群扩容途径 208

13.3.2执行集群扩容 209

13.4集群缩容 209

13.4.1禁止参与调度 210

13.4.2节点容器撤离 210

13.4.3移除计算节点 211

13.5混合云管理 211

13.5.1混合云管理平台的价值 211

13.5.2 ManageIQ 212

13.6本章小结 213

第14章 系统集成与定制 214

14.1通过Web Hook集成 214

14.1.1 Generic Hook 215

14.1.2 GitHub Hook 216

14.2通过命令行工具集成 216

14.2.1调用权限 217

14.2.2输出格式 217

14.2.3调试输出 217

14.3 S2I镜像定制 218

14.3.1准备环境 218

14.3.2编写Dockerfile 220

14.3.3编辑S2I脚本 221

14.3.4执行镜像构建 222

14.3.5导入镜像 222

14.4部署模板定制 224

14.4.1元信息 225

14.4.2对象列表 226

14.4.3模板参数 227

14.4.4定义模板 229

14.4.5创建模板 231

14.5系统组件定制 231

14.5.1组件定制 231

14.5.2插件定制 231

14.6 RESTful编程接口 232

14.6.1接口类型 233

14.6.2身份验证 233

14.6.3二次开发实例 234

14.7系统源代码定制 237

14.8本章小结 237

附录A排错指南 238

后记 252