《云原生服务网格Istio:原理、实践、架构与源码解析》[91M]百度网盘|pdf下载|亲测有效
《云原生服务网格Istio:原理、实践、架构与源码解析》[91M]百度网盘|pdf下载|亲测有效
《云原生服务网格Istio:原理、实践、架构与源码解析》[91M]百度网盘|pdf下载|亲测有效
《云原生服务网格Istio:原理、实践、架构与源码解析》[91M]百度网盘|pdf下载|亲测有效
《云原生服务网格Istio:原理、实践、架构与源码解析》[91M]百度网盘|pdf下载|亲测有效

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

isbn:9787121366536
出版社 电子工业出版社
出版年 2019-06-30
页数 390页
ISBN 9787121366536
装帧 精装
评分 9.3(豆瓣)
限时特惠 00:00:00
活动结束后恢复原价
纸质书参考价 ¥23
电子版限时价 ¥5.99 省 18 元

选择版本

不满意全额退款
发货失败双倍赔偿
邮箱即时发送

内容简介

本篇主要提供云原生服务网格Istio:原理、实践、架构与源码解析电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com


内容介绍

    2146ff7d910a8893.jpg.avif

    《云原生服务网格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的读者,本书都极具参考价值。




作者介绍

Istio社区成员。华为云应用服务网格架构师,现负责华为云容器服务 Istio 产品化工作。从事华为云 PaaS 平台产品设计研发,在 Kubernetes 容器服务,微服务架构,云服务目录,大数据,APM,DevOps 工具等多个领域有深入研究与实践。



目录

原 理 篇

第1章  你好,Istio 2

1.1  Istio是什么 2

1.2  通过示例看看Istio能做什么 4

1.3  Istio与服务治理 6

1.3.1  关于微服务 6

1.3.2  服务治理的三种形态 8

1.3.3  Istio不只解决了微服务问题 10

1.4  Istio与服务网格 11

1.4.1  时代选择服务网格 11

1.4.2  服务网格选择Istio 14

1.5  Istio与Kubernetes 15

1.5.1  Istio,Kubernetes的好帮手 16

1.5.2  Kubernetes,Istio的好基座 18

1.6  本章总结 20

第2章  Istio架构概述 21

2.1  Istio的工作机制 21

2.2  Istio的服务模型 23

2.2.1  Istio的服务 24

2.2.2  Istio的服务版本 26

2.2.3  Istio的服务实例 28

2.3  Istio的主要组件 30

2.3.1  istio-pilot 30

2.3.2  istio-telemetry 32

2.3.3  istio-policy 33

2.3.4  istio-citadel 34

2.3.5  istio-galley 34

2.3.6  istio-sidecar-injector 35

2.3.7  istio-proxy 35

2.3.8  istio-ingressgateway 36

2.3.9  其他组件 37

2.4  本章总结 37

第3章  非侵入的流量治理 38

3.1  Istio流量治理的原理 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.2  Istio路由规则配置:VirtualService 59

3.2.1  路由规则配置示例 59

3.2.2  路由规则定义 60

3.2.3  HTTP路由(HTTPRoute) 63

3.2.4  TLS路由(TLSRoute) 78

3.2.5  TCP路由(TCPRoute) 81

3.2.6  三种协议路由规则的对比 83

3.2.7  VirtualService的典型应用 84

3.3  Istio目标规则配置:DestinationRule 89

3.3.1  DestinationRule配置示例 90

3.3.2  DestinationRule规则定义 90

3.3.3  DestinationRule的典型应用 103

3.4  Istio服务网关配置:Gateway 107

3.4.1  Gateway配置示例 108

3.4.2  Gateway规则定义 109

3.4.3  Gateway的典型应用 112

3.5  Istio外部服务配置:ServiceEntry 120

3.5.1  ServiceEntry配置示例 120

3.5.2  ServiceEntry规则的定义和用法 121

3.5.3  ServiceEntry的典型应用 123

3.6  Istio代理规则配置:Sidecar 126

3.6.1  Sidecar配置示例 126

3.6.2  Sidecar规则定义 126

3.7  本章总结 129

第4章  可扩展的策略和遥测 131

4.1  Istio策略和遥测的原理 131

4.1.1  应用场景 131

4.1.2  工作原理 136

4.1.3  属性 137

4.1.4  Mixer的配置模型 140

4.2  Istio遥测适配器配置 147

4.2.1  Prometheus适配器 148

4.2.2  Fluentd适配器 155

4.2.3  StatsD适配器 159

4.2.4  Stdio适配器 161

4.2.5  Zipkin适配器 163

4.2.6  厂商适配器 168

4.3  Istio策略适配器配置 169

4.3.1  List适配器 169

4.3.2  Denier适配器 171

4.3.3  Memory Quota适配器 172

4.3.4  Redis Quota适配器 175

4.4  Kubernetes Env适配器配置 178

4.5  本章总结 181

第5章  可插拔的服务安全 182

5.1  Istio服务安全的原理 182

5.1.1  认证 185

5.1.2  授权 189

5.1.3  密钥证书管理 192

5.2  Istio服务认证配置 193

5.2.1  认证策略配置示例 193

5.2.2  认证策略的定义 194

5.2.3  TLS访问配置 196

5.2.4  认证策略的典型应用 200

5.3  Istio服务授权配置 202

5.3.1  授权启用配置 202

5.3.2  授权策略配置 203

5.3.3  授权策略的典型应用 207

5.4  本章总结 210

第6章  透明的Sidecar机制 211

6.1  Sidecar注入 211

6.1.1  Sidecar Injector自动注入的原理 214

6.1.2  Sidecar注入的实现 216

6.2  Sidecar流量拦截 219

6.2.1  iptables的基本原理 220

6.2.2  iptables的规则设置 223

6.2.3  流量拦截原理 224

6.3  本章总结 228

第7章  多集群服务治理 230

7.1  Istio多集群服务治理 230

7.1.1  Istio多集群的相关概念 230

7.1.2  Istio多集群服务治理现状 231

7.2  多集群模式1:多控制面 232

7.2.1  服务DNS解析的原理 233

7.2.2  Gateway连接的原理 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.1  Weather Forecast简介 257

8.4.2  Weather Forecast部署 258

8.5  本章总结 259

第9章  流量监控 260

9.1  预先准备:安装插件 260

9.2  调用链跟踪 261

9.3  指标监控 265

9.3.1  Prometheus 265

9.3.2  Grafana 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.6  TCP服务灰度发布 288

10.7  自动化灰度发布 290

10.7.1  正常发布 291

10.7.2  异常发布 294

第11章  流量治理 296

11.1  流量负载均衡 296

11.1.1  ROUND_ROBIN模式 296

11.1.2  RANDOM模式 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.6  HTTP重定向 308

11.7  HTTP重写 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.1  Pilot的架构 352

14.1.1  Istio的服务模型 354

14.1.2  xDS协议 356

14.2  Pilot的工作流程 360

14.2.1  Pilot的启动与初始化 361

14.2.2  服务发现 363

14.2.3  配置规则发现 368

14.2.4  Envoy的配置分发 376

14.3  Pilot的插件 383

14.3.1  安全插件 385

14.3.2  健康检查插件 390

14.3.3  Mixer插件 391

14.4  Pilot的设计亮点 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.1  Mixer的整体架构 397

15.2  Mixer的服务模型 398

15.2.1  Template 399

15.2.2  Adapter 401

15.3  Mixer的工作流程 403

15.3.1  启动初始化 403

15.3.2  用户配置信息规则处理 409

15.3.3  访问策略的执行 416

15.3.4  无侵入遥测 421

15.4  Mixer的设计亮点 423

15.5  如何开发Mixer Adapter 424

15.5.1  Adapter实现概述 424

15.5.2  内置式Adapter的开发步骤 425

15.5.3  独立进程式Adapter的开发步骤 430

15.5.4  独立仓库式Adapter的开发步骤 437

15.6  本章总结 438

第16章  安全碉堡Citadel 439

16.1  Citadel的架构 439

16.2  Citadel的工作流程 441

16.2.1  启动初始化 441

16.2.2  证书控制器 442

16.2.3  gRPC服务器 444

16.2.4  证书轮换器 445

16.2.5  SDS服务器 446

16.3  本章总结 449

第17章  高性能代理Envoy 450

17.1  Envoy的架构 450

17.2  Envoy的特性 451

17.3  Envoy的模块结构 452

17.4  Envoy的线程模型 453

17.5  Envoy的内存管理 455

17.5.1  变量管理 455

17.5.2  Buffer管理 456

17.6  Envoy的流量控制 456

17.7  Envoy与Istio的配合 457

17.7.1  部署与交互 457

17.7.2  Envoy API 458

17.3  本章总结 459

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

18.1  为什么需要Pilot-agent 461

18.2  Pilot-agent的工作流程 461

18.2.1  Envoy的启动 462

18.2.2  Envoy的热重启 465

18.2.3  守护Envoy 466

18.2.4  优雅退出 467

18.3  本章总结 468

第19章  配置中心Galley 469

19.1  Galley的架构 469

19.1.1  MCP 470

19.1.2  MCP API 470

19.2  Galley的工作流程 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.1  ConfigController 486

20.2.2  ServiceController 490

20.2.3  xDS异步分发 495

20.2.4  配置更新预处理 503

20.2.5  xDS配置的生成及分发 509

20.3  本章总结 514

第21章  Mixer源码解析 515

21.1  进程启动流程 515

21.1.1  runServer通过newServer新建Server对象 517

21.1.2  启动Mixer gRPC Server 520

21.2  关键代码分析 520

21.2.1  监听用户的配置 520

21.2.2  构建数据模型 524

21.2.3  Check接口 533

21.2.4  Report接口 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.2  SecretController的创建和核心原理 551

22.2.3  CA Server的创建和核心原理 556

22.3  本章总结 558

第23章  Envoy源码解析 559

23.1  Envoy的初始化 559

23.1.1  启动参数bootstrap的初始化 559

23.1.2  Admin API的初始化 560

23.1.3  Worker的初始化 562

23.1.4  CDS的初始化 562

23.1.5  LDS的初始化 563

23.1.6  GuardDog的初始化 564

23.2  Envoy的运行和建立新连接 564

23.2.1  启动worker 565

23.2.2  Listener的加载 565

23.2.3  接收连接 566

23.3  Envoy对数据的读取、接收及处理 567

23.3.1  读取数据 568

23.3.2  接收数据 568

23.3.3  处理数据 569

23.4  Envoy发送数据到服务端 570

23.4.1  匹配路由 571

23.4.2  获取连接池 572

23.4.3  选择上游主机 572

23.5  本章总结 573

第24章  Galley源码解析 574

24.1  进程启动流程 574

24.1.1  RunServer的启动流程 577

24.1.2  RunValidation 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