定 价:69 元
丛书名:
抱歉,电子工业出版社不参与样书赠送活动!
- 作者:郭勇 等
- 出版时间:2024/12/1
- ISBN:9787121495595
- 出 版 社:电子工业出版社
适用读者:本书适合作为大中专院校、培训机构的云原生技术相关课程的教材。
- 中图法分类:TP393.027
- 页码:312
- 纸张:
- 版次:01
- 开本:16开
- 字数:499(单位:千字)
本教材目的是使读者掌握云原生技术及应用实践技能。本书分为9章,第1章主要讲解云原生的定义、云原生的关键技术及国内云原生产业现状;第2章主要以云原生的技术全景图为主线介绍云原生层次关系及中国云原生技术全景;第3章主要讲解云原生架构定义、架构模式演进、云原生架构原则等;第4章详细讲解容器技术背景、容器技术的基本概念、容器技术之Docker、Docker的使用及容器技术之Containerd等。第5章讲解容器编排方法及主要工具,着重讲解Kubernetes基本原理、Kubernetes的API对象、Kubernetes的服务暴露方式等内容;第6章主要讲解微服务主要技术、微服务框架及微服务在云原生中的应用方法等;第7章主要讲解Serverless和Service Mesh 及Service Mesh的具体实现Istio;第8章主要讲解DevOps基本概念、生命周期、IaC和GitOps、源代码管理、持续集成、持续交付、流水线及代码质量管理工具SonarQube;第9章以两个案例详细讲解了如何实现云原生技术落地。 本书可以帮助更多的开发人员和IT从业者了解和掌握云原生技术,促进其在国内的普及和应用。本书适合作为大中专院校、培训机构的云原生技术相关课程的教材。
郭勇,博士,哈尔滨工业大学计算学部教师,国家精品数字课程"编译原理”主讲教师之一。主要研究方向为软件工程、云计算技术。作为负责人和课题骨干参加各类科研项目及省部级教研项目20余项,在国内外期刊发表论文20余篇,出版教材3部。
目 录
第1章 绪论 1
1.1 云原生概述 1
1.1.1 云原生的诞生 1
1.1.2 云原生计算基金会 1
1.1.3 云原生的定义 2
1.2 云原生的关键技术 2
1.2.1 容器 2
1.2.2 微服务 3
1.2.3 Service Mesh及Serverless技术 3
1.2.4 DevOps 4
1.2.5 CI/CD 5
1.3 国内云原生产业现状 6
习题 8
第2章 云原生的技术全景图 9
2.1 云原生技术全景图的层次关系 9
2.2 供应层 10
2.2.1 自动化与配置 10
2.2.2 容器镜像库 12
2.2.3 安全性与合规性 13
2.2.4 密钥和身份管理 14
2.3 运行时层 15
2.3.1 云原生存储 15
2.3.2 容器运行时 16
2.3.3 云原生网络 17
2.4 编排和管理层 18
2.4.1 编排和调度 18
2.4.2 协调和服务发现 19
2.4.3 远程过程调用 19
2.4.4 服务代理 20
2.4.5 API网关 20
2.4.6 服务网格 21
2.5 应用程序定义和开发层 22
2.5.1 数据库 22
2.5.2 流媒体和消息传递 24
2.5.3 应用程序定义与镜像构建 25
2.5.4 持续集成和持续交付/持续部署 26
2.6 可观察性和分析 27
2.6.1 监视 27
2.6.2 日志 28
2.6.3 跟踪 29
2.6.4 混沌工程 30
2.7 平台 31
2.7.1 发行版 32
2.7.2 托管 32
2.7.3 安装程序 33
2.7.4 平台即服务 33
2.8 中国云原生技术全景 34
2.9 小结 35
习题 35
第3章 云原生架构 36
3.1 云原生架构定义 36
3.2 架构模式演进 36
3.2.1 单体架构 36
3.2.2 分布式系统架构 37
3.2.3 SOA架构 38
3.2.4 微服务架构 38
3.2.5 云原生架构 39
3.3 云原生架构模式 39
3.3.1 服务化架构模式 40
3.3.2 Mesh化架构模式 40
3.3.3 Serverless模式 40
3.3.4 存储计算分离模式 41
3.3.5 分布式事务模式 41
3.3.6 可观测架构 42
3.3.7 事件驱动架构 42
3.4 云原生架构原则 43
3.4.1 服务化原则 43
3.4.2 弹性原则 43
3.4.3 可观测原则 44
3.4.4 韧性原则 44
3.4.5 过程自动化原则 44
3.4.6 零信任原则 45
3.4.7 持续演进原则 45
3.5 小结 46
习题 46
第4章 容器及管理平台 47
4.1 容器技术背景 47
4.1.1 物理机时代 47
4.1.2 虚拟化时代 47
4.1.3 容器化时代 48
4.1.4 容器技术带来的变化 51
4.2 容器技术的基本概念 52
4.2.1 什么叫容器 52
4.2.2 容器的规范 53
4.2.3 容器运行时规范 53
4.2.4 容器镜像规范 54
4.3 容器技术之Docker 55
4.3.1 什么是Docker 55
4.3.2 Docker与虚拟机的区别 56
4.3.3 Docker的架构 58
4.3.4 Docker容器原理 61
4.3.5 Docker运行流程 63
4.4 Docker的使用 64
4.4.1 Dockerfile命令 64
4.4.2 基于Dockerfile创建镜像 66
4.4.3 基于已有容器创建镜像 71
4.4.4 基于本地模板创建镜像 72
4.4.5 容器操作命令 72
4.5 容器技术之Containerd 76
4.5.1 什么是Containerd 77
4.5.2 容器运行时接口CRI 77
4.5.3 Containerd的架构 78
4.5.4 Containerd与Docker比较 79
4.6 小结 81
习题 81
第5章 容器编排 82
5.1 容器编排及主要工具 82
5.1.1 什么是容器编排 82
5.1.2 容器编排主要功能 82
5.1.3 容器编排工具 87
5.1.4 为什么选择Kubernetes 91
5.2 Kubernetes基本原理 93
5.2.1 Kubernetes的架构 93
5.2.2 Kubernetes的设计理念 94
5.2.3 MasterNode 96
5.2.4 WorkerNode 98
5.2.5 命令行Kubectl 99
5.2.6 Kubernetes功能扩展 101
5.3 Kubernetes的API对象 101
5.3.1 API对象 102
5.3.2 Pod 103
5.3.3 复制控制器及副本集 104
5.3.4 部署(Deployment) 107
5.3.5 服务(Service) 108
5.3.6 命名空间(Namespace) 109
5.3.7 任务(Job) 110
5.3.8 后台支撑服务集(DaemonSet) 111
5.3.9 存储卷(Volume) 112
5.3.10 持久卷 116
5.3.11 有状态集StatefulSet 118
5.3.12 ConfigMap和Secret 122
5.4 Kubernetes的服务暴露 123
5.4.1 ClusterIP服务暴露 123
5.4.2 NodePort服务暴露 125
5.4.3 Ingress服务暴露 126
5.5 小结 127
习题 127
第6章 云原生微服务 128
6.1 微服务概述 128
6.1.1 微服务架构的演进 128
6.1.2 微服务架构的特点 128
6.1.3 微服务的粒度 129
6.2 微服务主要技术 130
6.2.1 服务注册与发现 131
6.2.2 负载均衡 131
6.2.3 服务编排 133
6.2.4 流量管控 133
6.3 微服务框架 135
6.3.1 高速服务框架 135
6.3.2 Dubbo 137
6.3.3 Spring Cloud 138
6.4 云原生与微服务 140
6.4.1 云原生架构中的微服务 140
6.4.2 云容器平台 140
6.5 小结 141
习题 141
第7章 Serverless及Service Mesh技术 142
7.1 Serverless概述 142
7.1.1 什么是Serverless 142
7.1.2 Serverless的技术特点 145
7.1.3 Serverless的应用场景 147
7.2 Service Mesh概述 148
7.2.1 Service Mesh定义 149
7.2.2 Service Mesh架构 149
7.2.3 Service Mesh特性 150
7.2.4 Service Mesh实现框架 150
7.3 Istio:Service Mesh最佳实践者 155
7.3.1 Istio架构 155
7.3.2 流量管理 157
7.3.3 安全 165
7.3.4 可观测性 167
7.4 小结 168
习题 168
第8章 DevOps 169
8.1 DevOps基本概念 169
8.1.1 什么是DevOps 169
8.1.2 DevOps和应用程序生命周期 169
8.1.3 DevOps工具链 171
8.1.4 DevOps文化 172
8.1.5 如何更好地实施DevOps 174
8.2 IaC和GitOps 175
8.2.1 基础设施即代码(IaC) 175
8.2.2 什么是GitOps 176
8.2.3 GitOps优势与价值 176
8.2.4 GitOps原理 176
8.2.5 GitOps实践 177
8.3 源代码管理 179
8.3.1 什么是源代码管理 179
8.3.2 源代码管理的价值 179
8.3.3 源代码管理的最佳做法 180
8.3.4 源代码管理工具Git 180
8.3.5 源代码管理平台 182
8.3.6 代码管理平台操作 182
8.4 持续集成 186
8.4.1 什么是持续集成 186
8.4.2 自动构建工具介绍 187
8.4.3 制品管理简介 190
8.4.4 制品管理的工具 190
8.5 持续交付 192
8.5.1 什么是持续交付 192
8.5.2 什么是持续部署 193
8.6 流水线 194
8.6.1 什么是流水线 194
8.6.2 Gitlab流水线 194
8.6.3 Jenkins流水线 196
8.7 代码质量管理工具SonarQube 197
8.7.1 SonarQube安装及基本使用 198
8.7.2 Jenkins集成SonarQube 199
8.8 小结 200
习题 200
第9章 云原生实践 201
9.1 云原生应用实践案例一 201
9.1.1 基本开发环境搭建 201
9.1.2 DevOps环境搭建 202
9.1.3 DevOps平台安装 207
9.1.4 容器环境搭建 208
9.1.5 Istio环境搭建 211
9.1.6 基于DevOps的发布 212
9.1.7 基于服务网格的灰度发布 218
9.1.8 灰度部署原理 221
9.2 云原生应用实践案例二 227
9.2.1 RuoYi-Cloud简介 227
9.2.2 项目环境要求 229
9.2.3 KubeSphere的安装 229
9.2.4 企业空间及项目创建 244
9.2.5 MySQL数据库的部署 245
9.2.6 Redis数据库的部署 260
9.2.7 中间件nacos部署 264
9.2.8 RuoYi系统流水线 272