书籍详情

Istio权威指南:云原生服务网格Istio原理与实践(上)

Istio权威指南:云原生服务网格Istio原理与实践(上)

作者:张超盟 等

出版社:电子工业出版社

出版时间:2023-05-01

ISBN:9787121448089

定价:¥138.00

购买这本书可以去
内容简介
  本书是《Istio权威指南》的上册,重点讲解Istio的原理和实践,分为原理篇和实践篇。 原理篇介绍Istio的相关概念、主要架构和工作原理。其中,第1章通过介绍Istio与微服务、服务网格、Kubernetes这几个云原生关键技术的联系,帮助读者立体地理解Istio的概念。第2章概述Istio的工作机制、服务模型、总体架构和主要组件。第3、4、5章通过较大篇幅介绍Istio提供的非侵入性流量治理、可观测性和策略控制、服务安全这三大核心特性,包括其各自解决的问题、实现原理、配置模型、配置定义和典型应用,可以满足大多数读者在工作中的具体需求。第6章重点介绍自动注入和流量拦截的透明代理原理;第7章介绍Istio正在快速发展的多基础设施流量管理,包括对各种多集群模型、容器、虚拟机的统一管理等。 实践篇通过贯穿全书的一个天气预报应用来实践Istio的非侵入能力。其中,第8章介绍如何从零开始搭建环境。第9章通过Istio的非侵入方式生成指标、拓扑、调用链和访问日志等;第10章介绍多种灰度分流方式,带读者了解Istio灵活的分流策略;第11章描述负载均衡、故障转移、故障注入、超时、重试、重定向、重写、熔断、异常点检查、限流等流量策略的实践;第12章讲解两种认证策略及其与授权的配合,以及Istio倡导的零信任网络的关键技术;第13章讲解入口网关和出口网关的流量管理,展示服务网格对东西向流量和南北向流量的管理;第14章则是对多集群和虚拟机环境下流量治理的实践。本书适合入门级读者从零开始了解Istio的概念、原理和用法,也适合有一定基础的读者深入了解Istio的设计理念。
作者简介
  ——张超盟华为云应用服务网格架构师,拥有15年以上的开发经验,先后负责过华为云容器应用运维、微服务平台、云服务目录、云服务可靠性、服务网格等云原生产品的架构设计与开发工作,主导过多个重大项目的云原生和微服务化生产落地。在服务网格、Kubernetes容器服务、微服务架构、应用性能管理、大数据、DevOps工具等方面有深入的研究与实践。Istio社区成员,KubeCon、IstioCon及ServiceMeshCon等会议的演讲者,技术图书作者。早期曾在中铁一局从事路桥建设工作。 ——徐中虎华为云云原生团队核心成员,开源技术专家,服务网格Istio核心维护者,Istio社区指导委员会成员,Kubernetes项目核心贡献者,批量计算项目Volcano的核心维护者,拥有丰富的开源工作经验。主要研究方向有微服务架构、服务网格、容器编排平台Kubernetes和未来的分布式云原生架构等。在分布式系统的性能优化、高可靠和可扩展方面研究深入、经验丰富。 ——张伟华为云服务网格数据面资深专家,拥有18年架构设计与开发经验,先后就职于亿阳信通、加拿大北电网络(中国)、甲骨文、Polycom、阿里巴巴及华为等公司。作为核心开发人员开发过传输网管系统、Tuxedo交易中间件、ts-server多媒体转码服务、GTS高性能事务云服务、sc高性能注册中心、ASM数据面等多个产品,现主要负责华为云ASM服务网格数据面代理产品的设计与开发工作。 ——冷雪西安电子科技大学杭州研究院菁英副教授,浙江大学工学博士。主要研究方向有云原生安全、性能优化和智能运维等,致力于解决云网环境下的关键问题。曾参与并主持多项科研项目,在国际会议和期刊上发表多篇论文并获得多项授权专利。 /华为云云原生团队/华为云云原生团队创建于2013年,是国内较早从事云原生研究的团队之一,也是CNCF的初创成员和白金会员。华为云在容器、服务网格、微服务等云原生技术领域都有着深厚的沉淀,拥有10多名CNCF项目维护者,对Kubernetes、Istio等核心项目的贡献一直位居全球前列,并向CNCF捐献了KubeEdge、Volcano、Karmada等知名项目。基于CNCF的开源生态,华为云还打造了云容器引擎、云容器实例、应用服务网格等一系列优质的商业化云原生服务。为进一步推广云原生技术,加速云原生在行业中落地,华为云联合CNCF、中国信通院及业界云原生技术精英们成立了全球云原生交流平台——创原会。 /创原会/创原会是CNCF、中国信通院、华为云及业界云原生技术精英们联合成立的全球云原生交流平台,旨在通过研究前沿云原生技术及共享产业落地实践,探索云原生与业务融合的无限可能。自2020年成立至今,创原会已在中国、东南亚、拉美、欧洲陆续成立分会并举办活动50余场,为全球技术精英们提供了一个优质、高端、开放的交流平台,并吸纳近300位CTO、技术总监成为会员,极大地促进了云原生在全球各行业中的普及和落地。
目录
原 理 篇
 
第1章  你好,Istio         2
1.1  Istio是什么      2
1.2  Istio能做什么  3
1.3  Istio与服务治理       5
1.3.1  关于微服务   5
1.3.2  服务治理的形态    7
1.3.3  Istio不只解决微服务问题      9
1.4  Istio与服务网格       11
1.4.1  云原生选择服务网格     11
1.4.2  服务网格选择Istio         14
1.5  Istio与Kubernetes  17
1.5.1  Istio,Kubernetes的好帮手  18
1.5.2  Kubernetes,Istio的好基座  20
1.6  本章小结 23
 
第2章  Istio的架构概述         25
2.1  Istio的架构及原理   25
2.2  Istio的服务模型       28
2.2.1  Istio的服务    29
2.2.2  Istio的服务版本    30
2.2.3  Istio的服务实例    32
2.3  Istio的主要组件       34
2.3.1  控制面的组件        34
2.3.2  数据面的组件        38
2.3.3  其他组件        43
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.2  VirtualService(虚拟服务)     71
3.2.1  入门示例        71
3.2.2  配置模型        72
3.2.3  配置定义        73
3.2.4  HTTPRoute(HTTP路由)      75
3.2.5  TLSRoute(TLS路由)   89
3.2.6  TCPRoute(TCP路由) 91
3.2.7  三种协议的路由规则对比     92
3.2.8  典型应用        93
3.3  DestinationRule(目标规则) 101
3.3.1  入门示例        101
3.3.2  配置模型        101
3.3.3  配置定义        103
3.3.4  典型应用        116
3.4  Gateway(服务网关)     120
3.4.1  入门示例        120
3.4.2  配置模型        122
3.4.3  配置定义        122
3.4.4  典型应用        127
3.5  ServiceEntry(服务条目)       138
3.5.1  入门示例        139
3.5.2  配置模型        139
3.5.3  配置定义        140
3.5.4  典型应用        146
3.6  WorkloadEntry(工作负载)   149
3.6.1  入门示例        149
3.6.2  配置模型        150
3.6.3  配置定义        151
3.6.4  典型应用        152
3.7  WorkloadGroup(工作负载组)      154
3.7.1  入门示例        154
3.7.2  配置模型        154
3.7.3  配置定义        155
3.7.4  典型应用        156
3.8  Sidecar(服务网格代理)        157
3.8.1  入门示例        157
3.8.2  配置模型        158
3.8.3  配置定义        158
3.8.4  典型应用        161
3.9  EnvoyFilter(Envoy过滤器)  163
3.9.1  入门示例        164
3.9.2  配置模型        164
3.9.3  配置定义        165
3.9.4  典型应用        177
3.10  WasmPlugin(Wasm插件)  183
3.10.1  入门示例     183
3.10.2  配置模型     184
3.10.3  配置定义     184
3.10.4  典型应用     185
3.11  本章小结        186
 
第4章  可观测性和策略控制的原理     188
4.1  概念和原理      188
4.1.1  可观测性的概念    188
4.1.2  访问指标(Metrics)    194
4.1.3  调用链   198
4.1.4  访问日志        202
4.1.5  限流       205
4.2  Istio访问指标采集   207
4.2.1  指标采集的原理    208
4.2.2  指标采集的配置    211
4.3  Istio调用链采集       218
4.3.1  调用链采集的原理         218
4.3.2  调用链采集的配置         220
4.4  Istio中的访问日志采集   226
4.4.1  访问日志采集的原理     226
4.4.2  访问日志采集的配置     228
4.5  Istio限流 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.2  PeerAuthentication(对等身份认证)    273
5.2.1  入门示例        273
5.2.2  配置模型        274
5.2.3  配置定义        274
5.2.4  典型应用        275
5.3  RequestAuthentication(服务请求认证)        278
5.3.1  入门示例        278
5.3.2  配置模型        279
5.3.3  配置定义        279
5.3.4  典型应用        281
5.4  AuthorizationPolicy(服务授权策略)     283
5.4.1  入门示例        283
5.4.2  配置模型        284
5.4.3  配置定义        284
5.4.4  典型应用        288
5.5  本章小结 293
 
第6章  服务网格数据面代理Sidecar    294
6.1  Sidecar的透明注入原理  294
6.1.1  Sidecar的注入原理        294
6.1.2  自动注入服务        296
6.1.3  自动注入流程        298
6.2  Sidecar的流量拦截原理  301
6.2.1  iptables的基本原理       302
6.2.2  Sidecar Redirect模式    308
6.2.3  Sidecar Tproxy模式       317
6.2.4  Ingress网关模式   330
6.3  本章小结 334
 
第7章  异构基础设施   335
7.1  多集群服务治理的原理   335
7.1.1  Istio多集群相关的概念          335
7.1.2  Istio多集群管理    336
7.2  多集群的服务网格模型   337
7.2.1  扁平网络单控制面模型          337
7.2.2  非扁平网络单控制面模型     339
7.2.3  扁平网络多控制面模型          344
7.2.4  非扁平网络多控制面模型     346
7.3  多集群的关键技术  347
7.3.1  异构环境DNS         347
7.3.2  东西向网关   351
7.4  异构服务治理的原理       352
7.4.1  治理纯虚拟机服务         352
7.4.2  治理混合服务        354
7.5  本章小结 355
 
实 践 篇
 
第8章  环境准备   358
8.1  在本地搭建Istio环境       358
8.1.1  部署Kubernetes集群   358
8.1.2  安装Istio        359
8.2  尝鲜Istio命令行      361
8.3  应用示例 362
8.3.1  Weather Forecast简介  362
8.3.2  部署Weather Forecast 363
8.4  本章小结 364
 
第9章  可观测性实践   365
9.1  预先准备 365
9.2  调用链跟踪      366
9.3  指标监控 368
9.3.1  指标配置        369
9.3.2  指标采集:Prometheus         372
9.3.3  指标管理:Grafana        374
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.1  ROUND_ROBIN负载均衡        396
11.2  RANDOM负载均衡         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  超时       411
11.7  重试       413
11.8  HTTP重定向  415
11.9  HTTP重写       416
11.10  熔断与连接池      417
11.11  熔断异常点检测  420
11.12  限流     423
11.12.1  全局限流   423
11.12.2  本地限流   426
11.13  服务隔离      429
11.14  流量镜像      431
11.15  本章小结      433
 
第12章  服务安全实践 434
12.1  双向认证        434
12.2  JWT认证        437
12.3  特定命名空间的访问授权      440
12.4  特定源地址的授权         442
12.5  本章小结        444
 
第13章  网关流量实践 445
13.1  入口网关        445
13.2  单向TLS网关         447
13.3  双向TLS网关         450
13.4  访问服务网格外部服务          452
13.5  出口网关        454
13.6  本章小结        456
 
第14章  异构基础设施实践  457
14.1  多集群灰度发布    457
14.2  多集群非扁平网络负载均衡 461
14.3  多集群非扁平网络故障转移 464
14.4  管理虚拟机应用    469
14.5  本章小结        472
 
附录A  Istio访问日志的应答标记案例  473
 
结语 491
猜您喜欢

读书导航