编辑点评:pdf,azw3,epub和mobi四种格式都有
华为云原生团队600多页的Istio实战精华总结,知识兔站为大家分享的是云原生服务网格Istio:原理、实践、架构与源码解析的电子书,包含了四种格式,pdf,azw3,epub和mobi,需要哪一种都可以,已打包分享,欢迎免费下载。
云原生服务网格Istio电子书预览
目录大全
原 理 篇
第1章你好,Istio 2
1.1Istio是什么 2
1.2通过示例看看Istio能做什么 4
1.3Istio与服务治理 6
1.3.1关于微服务 6
1.3.2服务治理的三种形态 8
1.3.3Istio不只解决了微服务问题 10
1.4Istio与服务网格 11
1.4.1时代选择服务网格 11
1.4.2服务网格选择Istio 14
1.5Istio与Kubernetes 15
1.5.1Istio,Kubernetes的好帮手 16
1.5.2Kubernetes,Istio的好基座 18
1.6本章总结 20
第2章Istio架构概述 21
2.1Istio的工作机制 21
2.2Istio的服务模型 23
2.2.1Istio的服务 24
2.2.2Istio的服务版本 26
2.2.3Istio的服务实例 28
2.3Istio的主要组件 30
2.3.1istio-pilot 30
2.3.2istio-telemetry 32
2.3.3istio-policy 33
2.3.4istio-citadel 34
2.3.5istio-galley 34
2.3.6istio-sidecar-injector 35
2.3.7istio-proxy 35
2.3.8istio-ingressgateway 36
2.3.9其他组件 37
2.4本章总结 37
第3章非侵入的流量治理 38
3.1Istio流量治理的原理 38
3.1.1负载均衡 39
3.1.2服务熔断 41
3.1.3故障注入 48
3.1.4灰度发布 49
3.1.5服务访问入口 54
3.1.6外部接入服务治理 56
3.2Istio路由规则配置:VirtualService 59
3.2.1路由规则配置示例 59
3.2.2路由规则定义 60
3.2.3HTTP路由(HTTPRoute) 63
3.2.4TLS路由(TLSRoute) 78
3.2.5TCP路由(TCPRoute) 81
3.2.6三种协议路由规则的对比 83
3.2.7VirtualService的典型应用 84
3.3Istio目标规则配置:DestinationRule 89
3.3.1DestinationRule配置示例 90
3.3.2DestinationRule规则定义 90
3.3.3DestinationRule的典型应用 103
3.4Istio服务网关配置:Gateway 107
3.4.1Gateway配置示例 108
3.4.2Gateway规则定义 109
3.4.3Gateway的典型应用 112
3.5Istio外部服务配置:ServiceEntry 120
3.5.1ServiceEntry配置示例 120
3.5.2ServiceEntry规则的定义和用法 121
3.5.3ServiceEntry的典型应用 123
3.6Istio代理规则配置:Sidecar 126
3.6.1Sidecar配置示例 126
3.6.2Sidecar规则定义 126
3.7本章总结 129
第4章可扩展的策略和遥测 131
4.1Istio策略和遥测的原理 131
4.1.1应用场景 131
4.1.2工作原理 136
4.1.3属性 137
4.1.4Mixer的配置模型 140
4.2Istio遥测适配器配置 147
4.2.1Prometheus适配器 148
4.2.2Fluentd适配器 155
4.2.3StatsD适配器 159
4.2.4Stdio适配器 161
4.2.5Zipkin适配器 163
4.2.6厂商适配器 168
4.3Istio策略适配器配置 169
4.3.1List适配器 169
4.3.2Denier适配器 171
4.3.3Memory Quota适配器 172
4.3.4Redis Quota适配器 175
4.4Kubernetes Env适配器配置 178
4.5本章总结 181
第5章可插拔的服务安全 182
5.1Istio服务安全的原理 182
5.1.1认证 185
5.1.2授权 189
5.1.3密钥证书管理 192
5.2Istio服务认证配置 193
5.2.1认证策略配置示例 193
5.2.2认证策略的定义 194
5.2.3TLS访问配置 196
5.2.4认证策略的典型应用 200
5.3Istio服务授权配置 202
5.3.1授权启用配置 202
5.3.2授权策略配置 203
5.3.3授权策略的典型应用 207
5.4本章总结 210
第6章透明的Sidecar机制 211
6.1Sidecar注入 211
6.1.1Sidecar Injector自动注入的原理 214
6.1.2Sidecar注入的实现 216
6.2Sidecar流量拦截 219
6.2.1iptables的基本原理 220
6.2.2iptables的规则设置 223
6.2.3流量拦截原理 224
6.3本章总结 228
第7章多集群服务治理 230
7.1Istio多集群服务治理 230
7.1.1Istio多集群的相关概念 230
7.1.2Istio多集群服务治理现状 231
7.2多集群模式1:多控制面 232
7.2.1服务DNS解析的原理 233
7.2.2Gateway连接的原理 237
7.3多集群模式2:VPN直连单控制面 238
7.4多集群模式3:集群感知服务路由单控制面 240
7.5本章总结 246
实 践 篇
第8章环境准备 248
8.1在本地搭建Istio环境 248
8.1.1安装Kubernetes集群 248
8.1.2安装Helm 249
8.1.3安装Istio 250
8.2在公有云上使用Istio 253
8.3尝鲜Istio命令行 255
8.4应用示例 257
8.4.1Weather Forecast简介 257
8.4.2Weather Forecast部署 258
8.5本章总结 259
第9章流量监控 260
9.1预先准备:安装插件 260
9.2调用链跟踪 261
9.3指标监控 265
9.3.1Prometheus 265
9.3.2Grafana 268
9.4服务网格监控 273
9.5本章总结 277
第10章灰度发布 278
10.1预先准备:将所有流量都路由到各个服务的v1版本 278
10.2基于流量比例的路由 279
10.3基于请求内容的路由 283
10.4组合条件路由 284
10.5多服务灰度发布 286
10.6TCP服务灰度发布 288
10.7自动化灰度发布 290
10.7.1正常发布 291
10.7.2异常发布 294
第11章流量治理 296
11.1流量负载均衡 296
11.1.1ROUND_ROBIN模式 296
11.1.2RANDOM模式 298
11.2会话保持 299
11.2.1实战目标 300
11.2.2实战演练 300
11.3故障注入 301
11.3.1延迟注入 301
11.3.2中断注入 303
11.4超时 304
11.5重试 306
11.6HTTP重定向 308
11.7HTTP重写 309
11.8熔断 310
11.9限流 313
11.9.1普通方式 314
11.9.2条件方式 315
11.10服务隔离 317
11.10.1实战目标 317
11.10.2实战演练 317
11.11影子测试 319
11.12本章总结 322
第12章服务保护 323
12.1网关加密 323
12.1.1单向TLS网关 323
12.1.2双向TLS网关 326
12.1.3用SDS加密网关 328
12.2访问控制 331
12.2.1黑名单 331
12.2.2白名单 332
12.3认证 334
12.3.1实战目标 334
12.3.2实战演练 334
12.4授权 336
12.4.1命名空间级别的访问控制 336
12.4.2服务级别的访问控制 339
12.5本章总结 341
第13章多集群管理 342
13.1实战目标 342
13.2实战演练 342
13.3本章总结 350
架 构 篇
第14章司令官Pilot 352
14.1Pilot的架构 352
14.1.1Istio的服务模型 354
14.1.2xDS协议 356
14.2Pilot的工作流程 360
14.2.1Pilot的启动与初始化 361
14.2.2服务发现 363
14.2.3配置规则发现 368
14.2.4Envoy的配置分发 376
14.3Pilot的插件 383
14.3.1安全插件 385
14.3.2健康检查插件 390
14.3.3Mixer插件 391
14.4Pilot的设计亮点 392
14.4.1三级缓存优化 392
14.4.2去抖动分发 393
14.4.3增量EDS 394
14.4.4资源隔离 395
14.5本章总结 396
第15章守护神Mixer 397
15.1Mixer的整体架构 397
15.2Mixer的服务模型 398
15.2.1Template 399
15.2.2Adapter 401
15.3Mixer的工作流程 403
15.3.1启动初始化 403
15.3.2用户配置信息规则处理 409
15.3.3访问策略的执行 416
15.3.4无侵入遥测 421
15.4Mixer的设计亮点 423
15.5如何开发Mixer Adapter 424
15.5.1Adapter实现概述 424
15.5.2内置式Adapter的开发步骤 425
15.5.3独立进程式Adapter的开发步骤 430
15.5.4独立仓库式Adapter的开发步骤 437
15.6本章总结 438
第16章安全碉堡Citadel 439
16.1Citadel的架构 439
16.2Citadel的工作流程 441
16.2.1启动初始化 441
16.2.2证书控制器 442
16.2.3gRPC服务器 444
16.2.4证书轮换器 445
16.2.5SDS服务器 446
16.3本章总结 449
第17章高性能代理Envoy 450
17.1Envoy的架构 450
17.2Envoy的特性 451
17.3Envoy的模块结构 452
17.4Envoy的线程模型 453
17.5Envoy的内存管理 455
17.5.1变量管理 455
17.5.2Buffer管理 456
17.6Envoy的流量控制 456
17.7Envoy与Istio的配合 457
17.7.1部署与交互 457
17.7.2Envoy API 458
17.3本章总结 459
第18章代理守护进程Pilot-agent 460
18.1为什么需要Pilot-agent 461
18.2Pilot-agent的工作流程 461
18.2.1Envoy的启动 462
18.2.2Envoy的热重启 465
18.2.3守护Envoy 466
18.2.4优雅退出 467
18.3本章总结 468
第19章配置中心Galley 469
19.1Galley的架构 469
19.1.1MCP 470
19.1.2MCP API 470
19.2Galley的工作流程 471
19.2.1启动初始化 471
19.2.2配置校验 476
19.2.3配置聚合与分发 479
19.3本章总结 482
源 码 篇
第20章Pilot源码解析 484
20.1进程启动流程 484
20.2关键代码分析 486
20.2.1ConfigController 486
20.2.2ServiceController 490
20.2.3xDS异步分发 495
20.2.4配置更新预处理 503
20.2.5xDS配置的生成及分发 509
20.3本章总结 514
第21章Mixer源码解析 515
21.1进程启动流程 515
21.1.1runServer通过newServer新建Server对象 517
21.1.2启动Mixer gRPC Server 520
21.2关键代码分析 520
21.2.1监听用户的配置 520
21.2.2构建数据模型 524
21.2.3Check接口 533
21.2.4Report接口 536
21.2.5请求分发 539
21.2.6协程池 541
21.3本章总结 543
第22章Citadel源码解析 544
22.1进程启动流程 544
22.2关键代码分析 548
22.2.1证书签发实体IstioCA 548
22.2.2SecretController的创建和核心原理 551
22.2.3CA Server的创建和核心原理 556
22.3本章总结 558
第23章Envoy源码解析 559
23.1Envoy的初始化 559
23.1.1启动参数bootstrap的初始化 559
23.1.2Admin API的初始化 560
23.1.3Worker的初始化 562
23.1.4CDS的初始化 562
23.1.5LDS的初始化 563
23.1.6GuardDog的初始化 564
23.2Envoy的运行和建立新连接 564
23.2.1启动worker 565
23.2.2Listener的加载 565
23.2.3接收连接 566
23.3Envoy对数据的读取、接收及处理 567
23.3.1读取数据 568
23.3.2接收数据 568
23.3.3处理数据 569
23.4Envoy发送数据到服务端 570
23.4.1匹配路由 571
23.4.2获取连接池 572
23.4.3选择上游主机 572
23.5本章总结 573
第24章Galley源码解析 574
24.1进程启动流程 574
24.1.1RunServer的启动流程 577
24.1.2RunValidation Server的启动流程 578
24.2关键代码分析 580
24.2.1配置校验 580
24.2.2配置监听 584
24.2.3配置分发 585
24.3本章总结 589
结语 590
附录A源码仓库介绍 592
附录B实践经验和总结 598
关于作者
Istio社区成员。华为云应用服务网格架构师,现负责华为云容器服务 Istio 产品化工作。从事华为云 PaaS 平台产品设计研发,在 Kubernetes 容器服务,微服务架构,云服务目录,大数据,APM,DevOps 工具等多个领域有深入研究与实践。
图书介绍
《云原生服务网格Istio:原理、实践、架构与源码解析》分为原理篇、实践篇、架构篇和源码篇,由浅入深地将Istio项目庖丁解牛并呈现给读者。原理篇介绍了服务网格技术与Istio项目的技术背景、设计理念与功能原理,能够帮助读者了解服务网格这一云原生领域的标志性技术,掌握Istio流量治理、策略与遥测和安全功能的使用方法。实践篇从零开始搭建Istio运行环境并完成一个真实应用的开发、交付、上线监控与治理的完整过程,能够帮助读者熟悉Istio的功能并加深对Istio的理解。架构篇剖析了Istio项目的三大核心子项目Pilot、Mixer、Citadel的详细架构,帮助读者熟悉Envoy、Galley、Pilot-agent等相关项目,并挖掘Istio代码背后的设计与实现思想。源码篇对Istio各个项目的代码结构、文件组织、核心流程、主要数据结构及各主要代码片段等关键内容都进行了详细介绍,读者只需具备一定的Go语言基础,便可快速掌握Istio各部分的实现原理,并根据自己的兴趣深入了解某一关键机制的完整实现。本书分享源码下载,参见http://github.com/cloudnativebooks/cloud-native-istio。
无论是对于刚入门Istio的读者,还是对于已经在产品中使用Istio的读者,本书都极具参考价值。
下载体验