Istio权威指南 上 云原生服务网格Istio原理与实践
作 者:张超盟 等 编
定 价:138
出 版 社:电子工业出版社
出版日期:2023年05月01日
页 数:512
装 帧:平装
ISBN:9787121448089
"(1)中国信通院何宝宏、CNCF CTO Chris Aniszczyk、上海交通大学致远讲席教授过敏意、华为云CTO张宇昕、华为云首席产品官方国伟、Istio TOC Member Lin Sun、John Howard、Envoy与Istio核心维护者周礼赞、CNCF中国区总监Keith Chan倾情力荐!
(2)由华为云云原生团队倾力打造,详尽解读Istio原理与实践
(3)凝聚了华为云云原生团队在Istio社区及产品领域耕耘多年的长期工程实践和宝贵经验积累
(4)可以帮助读者从多个维度理解云原生、服务网格等相关技术,深入解析其中的概念和技术点
(5)可以帮助读者基于Istio实现应用流量管理、零信任安全、应用可观测性等。"
本书是《Istio权威指南》的上册,重点讲解Istio的原理和实践,分为原理篇和实践篇。原理篇介绍Istio的相关概念、主要架构和工作原理。其中,第1章通过介绍Istio与微服务、服务网格、Kubernetes这几个云原生关键技术的联系,帮助读者立体地理解Istio的概念。第2章概述Istio的工作机制、服务模型、总体架构和主要组件。第3、4、5章通过较大篇幅介绍Istio提供的非侵入性流量治理、可观测性和策略控制、服务安全这三大核心特性,包括其各自解决的问题、实现原理、配置模型、配置定义和典型应用,可以满足大多数读者在工作中的具体需求。第6章重点介绍自动注入和流量拦截的透明代理原理;第7章介绍Istio正在快速发展的多基础设施流量管理,包括对各种多集群模型、容器、虚拟机的统一管理等。实践篇通过贯穿全书的一个天气预报应用来实践Istio的非侵入能力。其中,第8章介绍如何从零开始搭建环境。第null
"——张超盟
华为云应用服务网格架构师,拥有15年以上的开发经验,先后负责过华为云容器应用运维、微服务平台、云服务目录、云服务可靠性、服务网格等云原生产品的架构设计与开发工作,主导过多个重大项目的云原生和微服务化生产落地。在服务网格、Kubernetes容器服务、微服务架构、应用性能管理、大数据、DevOps工具等方面有深入的研究与实践。Istio社区成员,KubeCon、IstioCon及ServiceMeshCon等会议的演讲者,技术图书作者。早期曾在中铁一局从事路桥建设工作。
——徐中虎
华为云云原生团队核心成员,开源技术专家,服务网格Istio核心维护者,Istio社区指导委员会成员,Kubernetes项目核心贡献者,批量计算项目Volcano的核心维护者,拥有丰富的开源工作经验。主要研究方向有微服务架构、服务网格、容器编排平台Kubernetes和未来的分布式云原生架null
无
原理篇
第1章你好,Istio2
1.1Istio是什么2
1.2Istio能做什么3
1.3Istio与服务治理5
1.3.1关于微服务5
1.3.2服务治理的形态7
1.3.3Istio不只解决微服务问题9
1.4Istio与服务网格11
1.4.1云原生选择服务网格11
1.4.2服务网格选择Istio14
1.5Istio与Kubernetes17
1.5.1Istio,Kubernetes的好帮手18
1.5.2Kubernetes,Istio的好基座20
1.6本章小结23
第2章Istio的架构概述25
2.1Istio的架构及原理25
2.2Istio的服务模型28
2.2.1Istio的服务29
2.2.2Istio的服务版本30
2.2.3Istio的服务实例32
2.3Istio的主要组件34
2.3.1控制面的组件34
2.3.2数据面的组件38
2.3.3其他组件42
2.4本章小结43
第3章流量治理的原理44
3.1概念和原理44
3.1.1负载均衡46
3.1.2服务熔断48
3.1.3故障注入54
3.1.4灰度发布55
3.1.5故障转移60
3.1.6入口流量63
3.1.7出口流量68
3.2VirtualService(虚拟服务)71
3.2.1入门示例71
3.2.2配置模型72
3.2.3配置定义73
3.2.4HTTPRoute(HTTP路由)75
3.2.5TLSRoute(TLS路由)89
3.2.6TCPRoute(TCP路由)91
3.2.7三种协议的路由规则对比92
3.2.8VirtualService的典型应用93
3.3DestinationRule(目标规则)101
3.3.1入门示例101
3.3.2配置模型101
3.3.3配置定义103
3.3.4典型应用116
3.4Gateway(服务网关)121
3.4.1入门示例121
3.4.2配置模型122
3.4.3配置定义123
3.4.4典型应用127
3.5ServiceEntry(服务条目)139
3.5.1入门示例139
3.5.2配置模型140
3.5.3配置定义140
3.5.4典型应用146
3.6WorkloadEntry(工作负载)150
3.6.1入门示例150
3.6.2配置模型150
3.6.3配置定义151
3.6.4典型应用152
3.7WorkloadGroup(工作负载组)154
3.7.1入门示例154
3.7.2配置模型155
3.7.3配置定义156
3.7.4典型应用156
3.8Sidecar(网格代理)157
3.8.1入门示例157
3.8.2配置模型158
3.8.3配置定义158
3.8.4典型应用161
3.9EnvoyFilter(Envoy过滤器)163
3.9.1入门示例164
3.9.2配置模型164
3.9.3配置定义165
3.9.4典型应用177
3.10WasmPlugin(Wasm插件)183
3.10.1入门示例183
3.10.2配置模型184
3.10.3配置定义184
3.10.4典型应用185
3.10本章小结186
第4章可观测性和策略控制的原理188
4.1概念和原理188
4.1.1可观测性的概念188
4.1.2访问指标194
4.1.3调用链198
4.1.4访问日志201
4.1.5限流204
4.2Istio访问指标采集207
4.2.1指标采集的原理207
4.2.2指标采集的配置210
4.3Istio调用链采集218
4.3.1调用链采集的原理218
4.3.2调用链采集的配置220
4.4Istio访问日志采集226
4.4.1访问日志采集的原理226
4.4.2访问日志采集的配置228
4.5Istio限流236
4.5.1限流的原理236
4.5.2限流的配置238
4.6元数据交换248
4.6.1元数据交换的原理249
4.6.2元数据交换的配置250
4.7本章小结252
第5章服务安全的原理255
5.1概念和原理255
5.1.1对等身份认证257
5.1.2服务请求认证263
5.1.3服务访问授权268
5.2PeerAuthentication(对等身份认证)273
5.2.1入门示例273
5.2.2配置模型274
5.2.3配置定义274
5.2.4典型应用275
5.3RequestAuthentication(服务请求认证)278
5.3.1入门示例278
5.3.2配置模型279
5.3.3配置定义279
5.3.4典型应用281
5.4AuthorizationPolicy(服务授权策略)283
5.4.1入门示例283
5.4.2配置模型284
5.4.3配置定义284
5.4.4典型应用289
5.5本章小结294
第6章网格数据面代理Sidecar295
6.1Sidecar的透明注入原理295
6.1.1Sidecar的注入原理295
6.1.2自动注入服务297
6.1.3自动注入流程299
6.2Sidecar的流量拦截原理302
6.2.1iptables的基本原理303
6.2.2SidecarRedirect模式309
6.2.3SidecarTproxy模式318
6.2.4Ingress网关模式331
6.3本章小结335
第7章异构基础设施336
7.1多集群服务治理的原理336
7.1.1Istio多集群相关的概念336
7.1.2Istio多集群管理337
7.2多集群的服务网格模型338
7.2.1扁平网络单控制面模型338
7.2.2非扁平网络单控制面模型340
7.2.3扁平网络多控制面模型345
7.2.4非扁平网络多控制面模型347
7.3多集群的关键技术348
7.3.1异构环境DNS348
7.3.2东西向网关352
7.4异构服务治理的原理353
7.4.1治理纯虚拟机服务354
7.4.2治理混合服务355
7.5本章小结356
实践篇
第8章环境准备358
8.1在本地搭建Istio环境358
8.1.1部署Kubernetes集群358
8.1.2安装Istio359
8.2尝鲜Istio命令行361
8.3应用示例362
8.3.1WeatherForecast简介362
8.3.2部署WeatherForecast363
8.4本章小结364
第9章应用监控实践365
9.1预先准备365
9.2调用链跟踪366
9.3指标监控368
9.3.1指标配置369
9.3.2指标采集:Prometheus372
9.3.3指标管理:Grafana374
9.4服务网格应用拓扑379
9.5访问日志383
9.6本章小结384
第10章灰度发布实践385
10.1预先准备385
10.2基于流量比例的路由386
10.3基于请求内容的路由389
10.4组合条件路由391
10.5多服务灰度发布393
10.6本章小结395
第11章流量治理实践396
11.1ROUND_ROBIN负载均衡396
11.2RANDOM负载均衡397
11.3地域负载均衡399
11.3.1基于权重的地域负载均衡399
11.3.2用于故障转移的地域负载均衡402
11.4会话保持407
11.5故障注入409
11.5.1延迟注入409
11.5.2中断注入410
11.6超时412
11.7重试413
11.8HTTP重定向415
11.9HTTP重写417
11.10熔断与连接池418
11.11熔断异常点检测420
11.12限流423
11.12.1全局限流423
11.12.2本地限流427
11.13服务隔离430
11.14影子测试432
11.15本章小结434
第12章服务安全实践435
12.1双向认证435
12.2JWT认证438
12.3特定命名空间的访问授权441
12.4特定源地址的授权443
12.5本章小结445
第13章网关流量实践446
13.1入口网关446
13.2单向TLS网关448
13.3双向TLS网关451
13.4访问网格外部服务453
13.5出口网关455
13.6本章小结457
第14章异构基础设施实践458
14.1多集群灰度发布458
14.2多集群非扁平网络负载均衡462
14.3多集群非扁平网络故障转移465
14.4虚拟机应用管理470
14.5本章小结473