[套装书]Kubernetes实战+开源容器云OpenShift:构建基于Kubernetes的企业应用云平台(2册)

作者
布兰登·伯恩斯 埃迪·维拉尔巴 戴夫·斯特雷贝尔 拉克兰·埃文森 陈耿
丛书名
O’Reilly精品图书系列
出版社
机械工业出版社
ISBN
9782101251547
简要
简介
内容简介书籍计算机书籍 ---------------------------Kubernetes实战--------------------------- 在本书中,四位在分布式系统、企业应用开发和开源领域有着丰富经验的 Kubernetes 专家将会对如何使用 Kubernetes 容器编排系统构建应用进行全程指导。本书内容丰富,涵盖开发人员的工作流程、监控和度量指标、配置管理、持续集成和测试、版本控制与发布、应用程序的全球化部署、资源管理、网络、Pod安全、集群策略与治理、多集群管理、外部服务集成、机器学习、如何在Kubernetes上构建更高层次的平台、状态管理和有状态应用程序、许可控制与授权等,是一本非常全面的实践指南。 ---------------------------开源容器云OpenShift:构建基于Kubernetes的企业应用云平台--------------------------- 本书介绍的OpenShift是基于Docker和Kubernetes构建的开源的容器云,是为帮助企业、组织搭建及管理基于容器的应用平台产生的解决方案。通过OpenShift,企业可以快速地搭建稳定、安全、高效的容器应用平台。本书深入浅出地介绍如何搭建OpenShift容器云平台,并在这个平台上进行应用的开发和部署。探讨在OpenShift上如何满足软件研发常见的需求,如持续集成和交付,微服务化、数据持久化等。同时,探讨OpenShift的软件定义网络、高可用、配额控制等与运维息息相关的话题。
目录



---------------------------Kubernetes实战---------------------------


前言1
第1章 搭建一个基本服务7
1.1 应用程序概览7
1.2 配置文件管理7
1.3 使用Deployment创建多副本服务9
1.4 为HTTP流量配置外部Ingress12
1.5 使用ConfigMap配置应用程序13
1.6 使用Secret管理认证15
1.7 部署简单的有状态数据库18
1.8 使用服务创建TCP负载均衡器21
1.9 使用Ingress将流量路由到静态文件服务器22
1.10 使用Helm参数化应用程序24
1.11 部署服务的最佳实践26
1.12 小结27
第2章 开发者工作流29
2.1 目的29
2.2 搭建开发集群30
2.3 为多个开发者搭建共享集群31
2.4 启动开发者工作流38
2.5 环境初始化38
2.6 启动开发39
2.7 启动测试与调试40
2.8 搭建开发环境的最佳实践40
2.9 小结41
第3章 监控与日志43
3.1 指标与日志43
3.2 监控技术43
3.3 监控模式44
3.4 Kubernetes指标概述45
3.5 应该监控什么指标48
3.6 监控工具49
3.7 使用Prometheus监控Kubernetes51
3.8 日志概述55
3.9 日志工具57
3.10 使用EFK记录日志58
3.11 告警60
3.12 监控、日志及告警的最佳实践62
3.13 小结63
第4章 配置、机密以及RBAC65
4.1 通过ConfigMap和Secret配置应用65
4.2 ConfigMap和Secret API的最佳实践67
4.3 RBAC73
4.4 小结78
第5章 持续集成、测试和部署79
5.1 版本控制80
5.2 持续集成80
5.3 测试81
5.4 镜像构建81
5.5 为镜像标记标签82
5.6 持续部署83
5.7 部署策略84
5.8 生产环境中的测试88
5.9 搭建流水线并进行混沌试验89
5.10 CI/CD的最佳实践94
5.11 小结95
第6章 版本控制、发布和部署97
6.1 版本控制97
6.2 发布98
6.3 部署99
6.4 综合示例100
6.5 小结104
第7章 全球化应用的分发和预演105
7.1 镜像的分发106
7.2 参数化部署107
7.3 全球流量负载均衡107
7.4 可靠的全球化部署108
7.5 如何应对出现的问题113
7.6 全球化部署的最佳实践114
7.7 小结115
第8章 资源管理117
8.1 Kubernetes Scheduler117
8.2 高级调度技术119
8.3 Pod资源管理122
8.4 资源管理的最佳实践136
8.5 小结136
第9章 网络、网络安全与服务网格137
9.1 Kubernetes的网络原则137
9.2 网络插件139
9.3 Kubernetes中的服务142
9.4 网络安全策略149
9.5 服务网格153
9.6 小结155
第10章 Pod和容器安全157
10.1 PodSecurityPolicy API157
10.2 工作负载隔离和RuntimeClass170
10.3 其他Pod和容器安全注意事项172
10.4 小结173
第11章 集群的策略和治理175
11.1 为什么策略和治理很重要175
11.2 这里所说的策略有何不同175
11.3 云原生策略引擎176
11.4 Gatekeeper简介176
11.5 审计181
11.6 策略和治理的最佳实践183
11.7 小结184
第12章 多集群管理185
12.1 为什么需要多集群185
12.2 多集群设计的考量187
12.3 多集群部署管理189
12.4 GitOps集群管理方式191
12.5 多集群管理工具194
12.6 Kubernetes Federation194
12.7 多集群管理的最佳实践197
12.8 小结198
第13章 集成外部服务和 Kubernetes199
13.1 将外部服务导入Kubernetes199
13.2 将Kubernetes服务导出到外部203
13.3 在Kubernetes之间共享服务207
13.4 第三方工具207
13.5 连接集群和外部服务的最佳实践208
13.6 小结208
第14章 在Kubernetes上运行机器学习工作负载209
14.1 为什么Kubernetes非常适合机器学习209
14.2 机器学习工作流210
14.3 Kubernetes集群管理员与机器学习211
14.4 数据科学家关心的事218
14.5 在Kubernetes上运行机器学习工作负载的最佳实践219
14.6 小结220
第15章 在Kubernetes上构建高层应用的模式221
15.1 开发高层抽象的方法221
15.2 扩展Kubernetes222
15.3 构建平台时的设计考量224
15.4 构建应用平台的最佳实践226
15.5 小结227
第16章 管理状态和有状态应用229
16.1 卷和卷挂载230
16.2 Kubernetes存储231
16.3 有状态应用235
16.4 小结240
第17章 准入控制和授权241
17.1 准入控制241
17.2 授权248
17.3 小结251
第18章 总结253



---------------------------开源容器云OpenShift:构建基于Kubernetes的企业应用云平台---------------------------


序言
前言
致谢
基础篇
第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 启动OpenShift Origin 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
开发篇
第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
运维篇
第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

推荐

车牌查询
桂ICP备20004708号-3