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

云原生服务网格Istio:原理、实践、架构与源码解析
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , , ,
2019-07
ISBN: 9787121366536
定价: 139.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 628页
84人买过
  • 《云原生服务网格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的读者,本书都极具参考价值。 张超盟 
    华为云应用服务网格首席架构师,拥有10年以上软件研发经验,先后负责华为云PaaS容器应用运维、微服务平台、云服务目录、服务网格等产品架构设计与开发工作,在容器服务、微服务架构、大数据、应用性能管理、数据库中间件及DevOps工具等多个领域有深入的研究与实践。开源爱好者,Istio社区成员。曾就职于Trend Micro和中铁一局。 
      
    章鑫 
    华为云应用服务网格首席系统工程师, 拥有10年以上IT从业经验,先后参与华为云PaaS运维平台、容器自动化运维工 具、服务网格等产品设计与开发,主导了多个服务网格项目的落地与实施工作。Istio社区成员,对于Pilot、Mixer等多个组 件 的 调 优 有 丰 富 的 经 验。曾 在VIA-Telecom和Nokia担任研发专家。 
      
    徐中虎 
    华为云原生开源团队核心成员,Istio社区Approver,Kubernetes项目核心贡献者,现 聚 焦 于Cloud Native、Docker、Kubernetes、Service Mesh等领域,对分布式系统性能优化、高可靠、可扩展等有深入的研究。曾就职于网易、Nokia。 
      
    徐飞 
    华为云原生开源团队核心成员,Istio社区Approver,Kubernetes、Federation、Kubeflow、Virtual-Kubelet社区项目成员及核心贡献者,浙江大学硕士。从2015年开始参与容器平台的设计与开发,并参与上游社区的贡献。 
      
    华为云原生团队 
    华为云原生团队创建于2013年,是国内较早参与云原生这一技术领域的团队之一。作为CNCF(云原生计算基金会)的初创成员和白金会员,华为在容器、服务网格、微服务等云原生技术领域都有着深厚的造诣,拥有10多名CNCF开源项目维护者,在Kubernetes、Istio等核心开源项目上的贡献位居全球前列。华为云也提供了基于CNCF开源项目所打造的商业化云原生系列产品,包括云容器引擎、云容器实例、应用服务网格、容器交付流水线等。 
    华为云原生团队致力于云原生技术在国内的普及与推广,通过“容器魔方”官方微信公众号,以及与CNCF联合打造的Cloud Native Days China(CNDC)Meetup、Cloud Native Lives云原生技术在线直播、线下CKA培训等活动,推动了国内云原生技术的学习与交流热潮。此次打造的华为云原生技术丛书,内容涵盖以CNCF项目为主的多个云原生技术热点,可为广大云原生技术爱好者提供详尽、专业、及时的原理讲解与技术剖析。 

    原 理 篇 
    第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.6  本章总结  438 
    第16章  安全碉堡Citadel  439 
    16.1  Citadel的架构  439 
    16.2  Citadel的工作流程  441 
    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.6  Envoy的流量控制  456 
    17.7  Envoy与Istio的配合  457 
    17.3  本章总结  459 
    第18章  代理守护进程Pilot-agent  460 
    18.1  为什么需要Pilot-agent  461 
    18.2  Pilot-agent的工作流程  461 
    18.3  本章总结  468 
    第19章  配置中心Galley  469 
    19.1  Galley的架构  469 
    19.2  Galley的工作流程  471 
    19.3  本章总结  482 
      
    源 码 篇 
    第20章  Pilot源码解析  484 
    20.1  进程启动流程  484 
    20.2  关键代码分析  486 
    20.3  本章总结  514 
    第21章  Mixer源码解析  515 
    21.1  进程启动流程  515 
    21.2  关键代码分析  5201 
    21.3  本章总结  543 
    第22章  Citadel源码解析  544 
    22.1  进程启动流程  544 
    22.2  关键代码分析  548 
    22.3  本章总结  558 
    第23章  Envoy源码解析  559 
    23.1  Envoy的初始化  559 
    23.2  Envoy的运行和建立新连接  564 
    23.3  Envoy对数据的读取、接收及处理  567 
    23.4  Envoy发送数据到服务端  570 
    23.5  本章总结  573 
    第24章  Galley源码解析  574 
    24.1  进程启动流程  574 
    24.2  关键代码分析  580 
    24.3  本章总结  589 
    结语  590 
    附录A  源码仓库介绍  592 
    附录B  实践经验和总结  598 

     
    **篇幅限制,完整目录请见本书**
  • 内容简介:
    《云原生服务网格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的读者,本书都极具参考价值。
  • 作者简介:
    张超盟 
    华为云应用服务网格首席架构师,拥有10年以上软件研发经验,先后负责华为云PaaS容器应用运维、微服务平台、云服务目录、服务网格等产品架构设计与开发工作,在容器服务、微服务架构、大数据、应用性能管理、数据库中间件及DevOps工具等多个领域有深入的研究与实践。开源爱好者,Istio社区成员。曾就职于Trend Micro和中铁一局。 
      
    章鑫 
    华为云应用服务网格首席系统工程师, 拥有10年以上IT从业经验,先后参与华为云PaaS运维平台、容器自动化运维工 具、服务网格等产品设计与开发,主导了多个服务网格项目的落地与实施工作。Istio社区成员,对于Pilot、Mixer等多个组 件 的 调 优 有 丰 富 的 经 验。曾 在VIA-Telecom和Nokia担任研发专家。 
      
    徐中虎 
    华为云原生开源团队核心成员,Istio社区Approver,Kubernetes项目核心贡献者,现 聚 焦 于Cloud Native、Docker、Kubernetes、Service Mesh等领域,对分布式系统性能优化、高可靠、可扩展等有深入的研究。曾就职于网易、Nokia。 
      
    徐飞 
    华为云原生开源团队核心成员,Istio社区Approver,Kubernetes、Federation、Kubeflow、Virtual-Kubelet社区项目成员及核心贡献者,浙江大学硕士。从2015年开始参与容器平台的设计与开发,并参与上游社区的贡献。 
      
    华为云原生团队 
    华为云原生团队创建于2013年,是国内较早参与云原生这一技术领域的团队之一。作为CNCF(云原生计算基金会)的初创成员和白金会员,华为在容器、服务网格、微服务等云原生技术领域都有着深厚的造诣,拥有10多名CNCF开源项目维护者,在Kubernetes、Istio等核心开源项目上的贡献位居全球前列。华为云也提供了基于CNCF开源项目所打造的商业化云原生系列产品,包括云容器引擎、云容器实例、应用服务网格、容器交付流水线等。 
    华为云原生团队致力于云原生技术在国内的普及与推广,通过“容器魔方”官方微信公众号,以及与CNCF联合打造的Cloud Native Days China(CNDC)Meetup、Cloud Native Lives云原生技术在线直播、线下CKA培训等活动,推动了国内云原生技术的学习与交流热潮。此次打造的华为云原生技术丛书,内容涵盖以CNCF项目为主的多个云原生技术热点,可为广大云原生技术爱好者提供详尽、专业、及时的原理讲解与技术剖析。 

  • 目录:
    原 理 篇 
    第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.6  本章总结  438 
    第16章  安全碉堡Citadel  439 
    16.1  Citadel的架构  439 
    16.2  Citadel的工作流程  441 
    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.6  Envoy的流量控制  456 
    17.7  Envoy与Istio的配合  457 
    17.3  本章总结  459 
    第18章  代理守护进程Pilot-agent  460 
    18.1  为什么需要Pilot-agent  461 
    18.2  Pilot-agent的工作流程  461 
    18.3  本章总结  468 
    第19章  配置中心Galley  469 
    19.1  Galley的架构  469 
    19.2  Galley的工作流程  471 
    19.3  本章总结  482 
      
    源 码 篇 
    第20章  Pilot源码解析  484 
    20.1  进程启动流程  484 
    20.2  关键代码分析  486 
    20.3  本章总结  514 
    第21章  Mixer源码解析  515 
    21.1  进程启动流程  515 
    21.2  关键代码分析  5201 
    21.3  本章总结  543 
    第22章  Citadel源码解析  544 
    22.1  进程启动流程  544 
    22.2  关键代码分析  548 
    22.3  本章总结  558 
    第23章  Envoy源码解析  559 
    23.1  Envoy的初始化  559 
    23.2  Envoy的运行和建立新连接  564 
    23.3  Envoy对数据的读取、接收及处理  567 
    23.4  Envoy发送数据到服务端  570 
    23.5  本章总结  573 
    第24章  Galley源码解析  574 
    24.1  进程启动流程  574 
    24.2  关键代码分析  580 
    24.3  本章总结  589 
    结语  590 
    附录A  源码仓库介绍  592 
    附录B  实践经验和总结  598 

     
    **篇幅限制,完整目录请见本书**
查看详情
相关图书 / 更多
云原生服务网格Istio:原理、实践、架构与源码解析
云原生测试实战
孙高飞
云原生服务网格Istio:原理、实践、架构与源码解析
云原生Kubernetes全栈架构师实战
杜宽
云原生服务网格Istio:原理、实践、架构与源码解析
云原生安全技术实践指南
张福
云原生服务网格Istio:原理、实践、架构与源码解析
云原生开发实践(计算机技术开发与应用丛书)
高尚衡 著
云原生服务网格Istio:原理、实践、架构与源码解析
云原生安全
李学峰 编著
云原生服务网格Istio:原理、实践、架构与源码解析
云原生时代的CoreDNS学习指南
[美]约翰·贝拉马里奇(John Belamaric);[美]克里凯特·刘(Cricket Liu)
云原生服务网格Istio:原理、实践、架构与源码解析
云原生构建数字世界
丁振海 宋立桓
云原生服务网格Istio:原理、实践、架构与源码解析
云原生构建:微服务、容器化与容器编排
邹炎;谢邵虎;朱明杰
云原生服务网格Istio:原理、实践、架构与源码解析
云原生时代的可观测系统最佳实战
罗梦婷 蒲实 著
云原生服务网格Istio:原理、实践、架构与源码解析
云原生技术中台:从分布式到云平台设计
陈涛 索海燕
云原生服务网格Istio:原理、实践、架构与源码解析
云原生落地:企业级DevOps实践
应阔浩 李建宇 付天时 赵耀 著
云原生服务网格Istio:原理、实践、架构与源码解析
云原生应用架构:微服务开发最佳实战
FreeWheel核心业务系统开发团队