云原生服务网格Istio:原理、实践、架构与源码解析

华为云原生团队600多页的Istio实战精华总结,云原生服务网格Istio:原理、实践、架构与源码解析的电子书。

云原生服务网格Istio:原理、实践、架构与源码解析

图书介绍

《云原生服务网格Istio:原理、实践、架构与源码解析》分为原理篇、实践篇、架构篇和源码篇,由浅入深地将Istio项目庖丁解牛并呈现给读者。

原理篇介绍了服务网格技术与Istio项目的技术背景、设计理念与功能原理,能够帮助读者了解服务网格这一云原生领域的标志性技术,掌握Istio流量治理、策略与遥测和安全功能的使用方法。

实践篇从零开始搭建Istio运行环境并完成一个真实应用的开发、交付、上线监控与治理的完整过程,能够帮助读者熟悉Istio的功能并加深对Istio的理解。

架构篇剖析了Istio项目的三大核心子项目Pilot、Mixer、Citadel的详细架构,帮助读者熟悉Envoy、Galley、Pilot-agent等相关项目,并挖掘Istio代码背后的设计与实现思想。

源码篇对Istio各个项目的代码结构、文件组织、核心流程、主要数据结构及各主要代码片段等关键内容都进行了详细介绍,读者只需具备一定的Go语言基础,便可快速掌握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

第10章灰度发布 278

第11章流量治理 296

第12章服务保护 323

第13章多集群管理 342

13.1实战目标 342

13.2实战演练 342

13.3本章总结 350

架 构 篇

第14章司令官Pilot 352

第15章守护神Mixer 397

第16章安全碉堡Citadel 439

第17章高性能代理Envoy 450

第18章代理守护进程Pilot-agent 460

第19章配置中心Galley 469

源 码 篇

第20章Pilot源码解析 484

第21章Mixer源码解析 515

第22章Citadel源码解析 544

第23章Envoy源码解析 559

第24章Galley源码解析 574

结语 590

附录A源码仓库介绍 592

附录B实践经验和总结 598

60多本经典编程书籍,关注WX公众号领取回复:书籍

本书直接下载链接:云原生服务网格Istio:原理、实践、架构与源码解析

云原生服务网格Istio:原理、实践、架构与源码解析

上一篇:istio-流量治理


下一篇:2.7 在Docker容器中运行Elasticsearch、Kibana和Cerebro