书籍详情
《云原生服务网格ISTIO:原理.实践.架构与源码解析》[39M]百度网盘|亲测有效|pdf下载
  • 云原生服务网格ISTIO:原理.实践.架构与源码解析

  • 出版社:文轩网旗舰店
  • 出版时间:2019-07
  • 热度:11828
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

作  者:张超盟[等]编著 著
定  价:139
出 版 社:电子工业出版社
出版日期:2019年07月01日
页  数:0
装  帧:简装
ISBN:9787121366536
主编推荐
"1. 关于云原生服务网格Istio的靠前详尽的书籍从此诞生! 2. 来自华为云原生团队的Istio一手材料,厚达600多页,多角度全解Istio。 3. 从原理、实践、架构、源码4个层面剖析Istio,为各层面读者量身打造! 4. 提供源码下载、与作者互动,还可能有惊喜等着你。 5. 华为云原生技术丛书第1本,后续精美图书陆续覆盖云原生方方面面。 6. 加油!云原生服务网格Istio!加油!华为! "
目录
原 理 篇 第1章 你好,Istio2 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 服务网格选择Istio14 1.5 Istio与Kubernetes15 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-pilot30 2.3.2 istio-telemetry32 2.3.3 istio-policy33 2.3.4 istio-citadel34 2.3.5 istio-galley34 2.3.6 istio-sidecar-injector35 2.3.7 istio-proxy35 2.3.8 istio-ingressgateway36 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路由规则配置:VirtualService59 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目标规则配置:DestinationRule89 3.3.1 DestinationRule配置示例90 3.3.2 DestinationRule规则定义90 3.3.3 DestinationRule的典型应用103 3.4 Istio服务网关配置:Gateway107 3.4.1 Gateway配置示例108 3.4.2 Gateway规则定义109 3.4.3 Gateway的典型应用112 3.5 Istio外部服务配置:ServiceEntry120 3.5.1 ServiceEntry配置示例120 3.5.2 ServiceEntry规则的定义和用法121 3.5.3 ServiceEntry的典型应用123 3.6 Istio代理规则配置:Sidecar126 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: 直连单控制面238 7.4 多集群模式3:集群感知服务路由单控制面240 7.5 本章总结246 实 践 篇 第8章 环境准备248 8.1 在本地搭建Istio环境248 8.1.1 安装Kubernetes集群248 8.1.2 安装Helm249 8.1.3 安装Istio250 8.2 在公有云上使用Istio253 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 Prometheus265 9.3.2 Grafana268 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章 司令官Pilot352 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 增量EDS394 14.4.4 资源隔离395 14.5 本章总结396 第15章 守护神Mixer397 15.1 Mixer的整体架构397 15.2 Mixer的服务模型398 15.2.1 Template399 15.2.2 Adapter401 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 Adapter424 15.5.1 Adapter实现概述424 15.5.2 内置式Adapter的开发步骤425 15.5.3 独立进程式Adapter的开发步骤430 15.5.4 独立仓库式Adapter的开发步骤437 15.6 本章总结438 第16章 安全碉堡Citadel439 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章 高性能代理Envoy450 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 API458 17.3 本章总结459 第18章 代理守护进程Pilot-agent460 18.1 为什么需要Pilot-agent461 18.2 Pilot-agent的工作流程461 18.2.1 Envoy的启动462 18.2.2 Envoy的热重启465 18.2.3 守护Envoy466 18.2.4 优雅退出467 18.3 本章总结468 第19章 配置中心Galley469 19.1 Galley的架构469 19.1.1 MCP470 19.1.2 MCP API470 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 ConfigController486 20.2.2 ServiceController490 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 Server520 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 证书签发实体IstioCA548 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 启动worker565 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
内容简介
本书分为原理篇、实践篇、架构篇和源码篇,由浅入深地将Istio项目庖丁解牛并呈现给读者。原理篇介绍了服务网格技术与Istio项目的技术背景、设计理念与功能原理,能够帮助读者了解服务网格这一云原生领域的标志性技术,掌握Istio流量治理、策略与遥测和安全功能的使用方法。实践篇从零开始搭建Istio运行环境并完成一个真实应用的开发、交付、上线监控与治理的完整过程,能够帮助读者熟悉Istio的功能并加深对Istio的理解。架构篇剖析了Istio项目的三大核心子项目Pilot、Mixer、Citadel的详细架构,帮助读者熟悉Envoy、Galley、Pilot-agent等相关项目,并挖掘Istio代码背后的设计与实现思想。源码篇对Istio各个项目的代码结构、文件组织、核心流程、主要数据结构及各主要代码片段等关键内容都进行了详细介绍,读者只需具备一定的Go语言基础,便可快速掌握Istio各部分等
作者简介
张超盟[等]编著 著
"张超盟 华为云应用服务网格首席架构师,拥有10年以上软件研发经验,先后负责华为云PaaS容器应用运维、微服务平台、云服务目录、服务网格等产品架构设计与开发工作,在容器服务、微服务架构、大数据、应用性能管理、数据库中间件及DevOps工具等多个领域有深入的研究与实践。开源爱好者,Istio社区成员。曾就职于Trend Micro和中铁一局。 章鑫 华为云应用服务网格首席系统工程师, 拥有10年以上IT从业经验,先后参与华为云PaaS运维平台、容器自动化运维工 具、服务网格等产品设计与开发,主导了多个服务网格项目的落地与实施工作。Istio社区成员,对于Pilot、Mixer等多个组 等
精彩内容
    "推荐序 服务网格技术Istio是云原生(Cloud Native)时代的产物,是云原生应用的新型架构模式,而云原生又是云计算产业发展的新制高点。云计算是近10年左右流行的概念,但实际上,云已经走了很长一段路。 云的概念可以追溯到20世纪60年代。约翰?麦卡锡教授在1961年麻省理工学院的百年庆典上说:“计算机也许有一天会被组织成一种公用事业,就像电话系统是一种公用事业一样。每个订阅者只需为实际使用的容量付费,就可以访问到具有非常庞大的系统的计算资源……”。第一个具有云特征的服务出现在20世纪90年代,当时,电信公司从以前主要提供点对点的专用数据电路服务,转到提供服务质量相当但成本较低的虚拟专用网络( )服务。 服务能够通过切换流量和平衡服务器的使用,更有效地使用整体的网络带宽。电信公司开始使用云符号来表示提供商和用户之间的责任界面。等