| 作 者: | 张超盟 |
| 出版社: | 电子工业出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 暂缺 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
架 构 篇
第15章 Pilot的架构 2
15.1 Pilot的基本架构 2
15.1.1 Istio的服务模型 4
15.1.2 xDS协议 6
15.2 Pilot的原理 12
15.2.1 xDS服务器 13
15.2.2 服务发现 24
15.2.3 配置规则发现 29
15.2.4 xDS的生成和分发 35
15.3 安全插件 42
15.3.1 认证插件 43
15.3.2 授权插件 46
15.4 Pilot的关键设计 48
15.4.1 三级缓存模型 48
15.4.2 去抖动分发 50
15.4.3 防过度分发 51
15.4.4 增量EDS 51
15.4.5 资源隔离 53
15.4.6 自动管理虚拟机工作负载 54
15.5 本章小结 55
第16章 Citadel的架构 56
16.1 Istio的证书和身份管理 56
16.2 Citadel的基本架构 59
16.3 Citadel的核心原理 60
16.3.1 核心组件的初始化 61
16.3.2 CA服务器 62
16.3.3 证书签发 63
16.3.4 证书轮转器 65
16.4 本章小结 67
第17章 Galley的架构 68
17.1 简化的Galley 68
17.2 Galley的整体架构 69
17.2.1 早期的MCP 70
17.2.2 基于xDS的MCP 72
17.3 Galley的核心工作原理 72
17.3.1 启动初始化 72
17.3.2 API校验 75
17.3.3 对API配置的管理 78
17.4 本章小结 79
第18章 Pilot-agent的架构 80
18.1 Pilot-agent的用途 81
18.2 Pilot-agent的核心架构 81
18.3 Pilot-agent的原理 83
18.3.1 Envoy的启动 84
18.3.2 优雅退出 85
18.3.3 xDS代理 87
18.3.4 证书管理 90
18.3.5 DNS服务器 91
18.3.6 应用健康检查 92
18.4 本章小结 93
第19章 Envoy的架构 94
19.1 Envoy的整体架构 95
19.1.1 Envoy的内部架构 96
19.1.2 Envoy的通信架构 100
19.2 Envoy的内存管理 110
19.2.1 堆内存管理 110
19.2.2 Buffer管理 111
19.3 Envoy过滤器的架构 114
19.3.1 过滤器的注册 115
19.3.2 过滤器的回调方法 117
19.3.3 过滤器的挂起与恢复 118
19.4 Envoy的初始化流程 119
19.4.1 静态配置 120
19.4.2 动态配置 121
19.4.3 Envoy的创建及初始化流程 124
19.4.4 Envoy的运行流程 128
19.4.5 目标服务Cluster的创建 129
19.4.6 监听器的创建 131
19.5 Envoy的网络及线程模型 133
19.5.1 Server主线程 134
19.5.2 Accesslog线程 136
19.5.3 工作线程 138
19.5.4 GuardDog线程 139
19.5.5 线程间的同步 139
19.6 Envoy的热升级流程 141
19.7 Envoy的新连接处理流程 144
19.8 Envoy的请求及响应数据处理流程 145
19.8.1 对下游请求数据的接收及处理 146
19.8.2 对上游请求数据的处理及发送 149
19.8.3 对上游响应数据的接收及发送 151
19.9 xDS的原理及工作流程 153
19.10 安全证书处理 155
19.11 WASM虚拟机的原理 158
19.12 本章小结 161
第20章 Istio-proxy的架构 162
20.1 Istio-proxy的基本架构 162
20.2 Istio-proxy的原理 163
20.2.1 Istio-proxy的整体工作流程 163
20.2.2 L4 metadata_exchange的工作流程 164
20.2.3 L7 metadata_exchange扩展的工作流程 169
20.2.4 Stats的工作流程 170
20.3 本章小结 173
源 码 篇
第21章 Pilot源码解析 175
21.1 启动流程 175
21.2 关键代码解析 177
21.2.1 ConfigController 178
21.2.2 ServiceController 186
21.2.3 xDS的异步分发 194
21.2.4 对xDS更新的预处理 202
21.2.5 xDS配置的生成及分发 208
21.3 本章小结 211
第22章 Citadel源码解析 212
22.1 启动流程 212
22.1.1 Istio CA的创建 213
22.1.2 SDS服务器的初始化 214
22.1.3 Istio CA的启动 215
22.2 关键代码解析 216
22.2.1 CA 服务器的核心原理 216
22.2.2 证书签发实体IstioCA 218
22.2.3 CredentialsController的创建和核心原理 222
22.3 本章小结 224
第23章 Galley源码解析 225
23.1 启动流程 225
23.1.1 Galley WebhookServer的初始化 226
23.1.2 ValidatingWebhookConfiguration控制器的初始化 226
23.2 关键代码解析 228
23.2.1 配置校验 228
23.2.2 Validating控制器的实现 232
23.3 本章小结 235
第24章 Pilot-agent源码解析 236
24.1 整体架构 236
24.2 启动及监控 238
24.3 xDS转发服务 243
24.4 SDS证书服务 248
24.5 健康检查 255
24.5.1 应用容器的LivenessProbe探测 255
24.5.2 应用容器的ReadinessProbe探测 257
24.5.3 Envoy进程的ReadinessProbe探测 258
24.5.4 Pilot-agent进程的LivenessProbe探测 262
24.6 本章小结 265
第25章 Envoy源码解析 266
25.1 Envoy的初始化 266
25.1.1 启动参数bootstrap的初始化 267
25.1.2 初始化观测指标 268
25.1.3 过滤器注册及信息补齐 269
25.1.4 Envoy自身信息解析 273
25.1.5 Admin API的初始化 273
25.1.6 Worker的初始化 276
25.1.7 Dispatcher内存延迟析构 279
25.1.8 CDS的初始化 283
25.1.9 LDS的初始化 286
25.1.10 初始化观测管理系统 287
25.1.11 启动Stats定期刷新 292
25.1.12 GuardDog的初始化 292
25.2 热重启的流程 296
25.3 Envoy的运行和连接创建 298
25.3.1 启动Worker工作线程 299
25.3.2 监听器的加载 301
25.3.3 接收连接 304
25.4 Envoy接收及处理数据 309
25.4.1 读取数据 310
25.4.2 接收数据 311
25.4.3 处理数据 312
25.5 Envoy发送数据到服务端 317
25.5.1 路由匹配 317
25.5.2 获取连接池 320
25.5.3 创建上游请求 325
25.6 Envoy收到服务端响应 333
25.6.1 接收响应数据 333
25.6.2 发送响应数据 335
25.7 xDS流程解析 337
25.7.1 xDS公共订阅 337
25.7.2 xDS推送 342
25.7.3 LDS更新 343
25.7.4 SDS订阅 350
25.8 遥测元数据存储 352
25.8.1 创建遥测元数据 352
25.8.2 收集Stats观测数据 360
25.8.3 定义静态指标 361
25.9 WASM扩展 363
25.9.1 WASM虚拟机的启动 363
25.9.2 WASM虚拟机的运行 374
25.10 本章小结 387
第26章 Istio-proxy源码解析 388
26.1 metadata_exchange 388
26.2 遥测数据Stats的上报 395
26.3 源码地址 406
26.4 本章小结 408
附录A 源码仓库介绍 409
附录B 实践问题总结 416
附录C 服务网格术语表 432
结 语 447