内容简介
这是一本从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度系统讲解如何打造协同的云、边、端系统的著作。
全书一共9章,逻辑上分为三大部分:
部分 边缘计算基础(~2章)
首先介绍了边缘计算和边缘计算系统的概念、组成、架构,以及边缘计算系统的部署与管理;然后分别以Kubernetes、KubeEdge、EdgeX Foundry为例讲解了云、边、端的部署与配置。既给出了边缘计算系统部署所需的自动化脚本,又分析了应用在云数据中心部署和以云、边、端协同的方式部署的利弊。
第二部分 工作原理(第3~6章)
首先从整体上对边缘计算系统的逻辑架构进行了介绍,然后从部署、配置、架构等角度对分别云、边、端的核心组件的工作原理进行了深入解析。
第三部分 源码分析(第7~9章)
云、边、端的开源框架众多,云部分选择Kubernetes、边部分选择KubeEdge、端部分选择EdgeX Foundry,首先详细介绍了这3种开发框架的开发环境搭建和源码的整体架构,然后对他们的核心组件的源码进行了深入分析,同时也对这3个框架的二次开发进行了讲解。
前言
基础篇
章 边缘计算入门3
1.1 边缘计算系统3
1.1.1 边缘计算系统的组成3
1.1.2 概念解析6
1.2 边缘计算的意义11
1.3 边缘计算系统的部署与管理11
1.3.1 系统部署11
1.3.2 系统管理23
1.4 不同应用部署方式的比较25
1.5 本章小结27
第2章 云、边、端的部署与配置29
2.1 边缘计算整体架构29
2.2 部署云部分—Kubernetes31
2.2.1 Kubernetes相关的容器运行时部署31
2.2.2 Kubernetes的学习环境部署34
2.2.3 Kubernetes的生产环境部署39
2.3 部署边缘部分—KubeEdge45
2.3.1 以系统进程的方式部署KubeEdge45
2.3.2 以容器化的方式部署KubeEdge51
2.4 部署端部分—EdgeX Foundry52
2.4.1 以系统进程的方式部署EdgeX Foundry53
2.4.2 以容器化的方式部署EdgeX Foundry57
2.5 本章小结60
原理篇
第3章 边缘计算系统逻辑架构63
3.1 边缘计算系统逻辑架构简介63
3.2 云、边协同64
3.3 边、端协同65
3.4 云、边、端协同68
3.5 本章小结68
第4章 云部分原理解析71
4.1 整体架构71
4.2 逻辑架构72
4.3 控制流程74
4.3.1 集群基础设施层面的资源的控制流程74
4.3.2 集群中应用负载层面的资源的控制流程77
4.4 数据流81
4.4.1 集群内应用负载间的数据访问流81
4.4.2 集群外应用到集群内应用负载的数据访问流86
4.5 资源调度88
4.5.1 资源调度流程88
4.5.2 资源调度算法和调度策略89
4.6 资源编排90
4.7 本章小结91
第5章 边缘部分原理解析93
5.1 KubeEdge的整体架构93
5.2 与云交互的组件94
5.3 管理边缘负载的组件96
5.4 与终端设备交互的组件97
5.5 云、边协同98
5.6 设备管理模型100
5.7 边缘存储和网络资源102
5.8 边缘节点管理103
5.8.1 以节点的形式管理边缘计算资源103
5.8.2 以独立集群的形式管理边缘计算资源104
5.8.3 以多集群的形式管理边缘计算资源105
5.9 本章小结106
第6章 端部分原理解析107
6.1 整体架构107
6.2 设备服务层108
6.3 核心服务层110
6.4 支持服务层115
6.5 导出服务层119
6.6 安全组件122
6.7 系统管理组件122
6.8 本章小结123
源码分析篇
第7章 云部分源码分析127
7.1 搭建开发环境127
7.1.1 安装Go和GoLand127
7.1.2 安装Git并下载Kubernetes源码130
7.1.3 Go Modules简介130
7.1.4 下载Kubernetes的源码依赖131
7.2 Kubernetes源码整体结构分析131
7.3 组件源码分析133
7.3.1 共用命令行工具库Cobra133
7.3.2 Kube-apiserver136
7.3.3 Kube-controller-manager140
7.3.4 Kube-scheduler145
7.3.5 Kubelet148
7.3.6 Kube-proxy150
7.4 本章小结153
第8章 边缘部分源码分析155
8.1 搭建开发环境155
8.2 源码整体架构分析155
8.2.1 源码目录及组件源码入口155
8.2.2 组件中各功能模块的共用框架和功能分析160
8.3 组件源码分析166
8.3.1 配置文件读取166
8.3.2 CloudCore172
8.3.3 EdgeCore之Edged180
8.3.4 EdgeCore之DeviceTwin189
8.3.5 EdgeCore之EdgeHub195
8.3.6 EdgeCore之EventBus202
8.3.7 EdgeCore之MataManager206
8.3.8 EdgeCore之EdgeMesh212
8.4 本章小结217
第9章 端部分源码分析219
9.1 搭建开发环境219
9.2 源码整体架构分析219
9.3 组件源码分析220
9.3.1 Config-seed221
9.3.2 Core-command232
9.4 本章小结238