计算机
类型
8.6
豆瓣评分
可以朗读
语音朗读
282千字
字数
2019-07-01
发行日期
展开全部
主编推荐语
华为云Istio团队深入剖析服务网格技术,助力新手老鸟全面掌握Istio细节。
内容简介
本书作者来自于华为云Istio应用服务网格产品研发团队以及华为Istio开源社区团队。本书结合作者在华为云及Istio社区的设计与开发实践,以及与服务网格强相关的Kubernetes、微服务和云原生领域的丰富经验,对服务网格技术、Istio开源项目的原理、架构和源码进行了深入剖析与讲解,由浅入深迭代地展开Istio的能力、用法、设计和实现,全面、立体了解云原生服务网格技术Istio的每个技术细节。对于刚入门的读者,本书提供了从零开始的Istio上手实战指导,而对于已在产品中使用Istio的用户也提供了丰富的案例与经验总结,因此,无论是新手还是老鸟都能够从本书中受益。本书是全球第一本基于Istio1.1最新版本的技术书,也是国内第一本由Istio社区开发人员所撰写的原创书籍。
目录
- 封面
- 作者简介
- 版权页
- 推荐序
- 前言
- 目录
- 原理篇
- 第1章 你好,Istio
- 1.1 Istio是什么
- 1.2 通过示例看看Istio能做什么
- 1.3 Istio与服务治理
- 1.3.1 关于微服务
- 1.3.2 服务治理的三种形态
- 1.3.3 Istio不只解决了微服务问题
- 1.4 Istio与服务网格
- 1.4.1 时代选择服务网格
- 1.4.2 服务网格选择Istio
- 1.5 Istio与Kubernetes
- 1.5.1 Istio,Kubernetes的好帮手
- 1.5.2 Kubernetes,Istio的好基座
- 1.6 本章总结
- 第2章 Istio架构概述
- 2.1 Istio的工作机制
- 2.2 Istio的服务模型
- 2.2.1 Istio的服务
- 2.2.2 Istio的服务版本
- 2.2.3 Istio的服务实例
- 2.3 Istio的主要组件
- 2.3.1 istio-pilot
- 2.3.2 istio-telemetry
- 2.3.3 istio-policy
- 2.3.4 istio-citadel
- 2.3.5 istio-galley
- 2.3.6 istio-sidecar-injector
- 2.3.7 istio-proxy
- 2.3.8 istio-ingressgateway
- 2.3.9 其他组件
- 2.4 本章总结
- 第3章 非侵入的流量治理
- 3.1 Istio流量治理的原理
- 3.1.1 负载均衡
- 3.1.2 服务熔断
- 3.1.3 故障注入
- 3.1.4 灰度发布
- 3.1.5 服务访问入口
- 3.1.6 外部接入服务治理
- 3.2 Istio路由规则配置:VirtualService
- 3.2.1 路由规则配置示例
- 3.2.2 路由规则定义
- 3.2.3 HTTP路由(HTTPRoute)
- 3.2.4 TLS路由(TLSRoute)
- 3.2.5 TCP路由(TCPRoute)
- 3.2.6 三种协议路由规则的对比
- 3.2.7 VirtualService的典型应用
- 3.3 Istio目标规则配置:DestinationRule
- 3.3.1 DestinationRule配置示例
- 3.3.2 DestinationRule规则定义
- 3.3.3 DestinationRule的典型应用
- 3.4 Istio服务网关配置:Gateway
- 3.4.1 Gateway配置示例
- 3.4.2 Gateway规则定义
- 3.4.3 Gateway的典型应用
- 3.5 Istio外部服务配置:ServiceEntry
- 3.5.1 ServiceEntry配置示例
- 3.5.2 ServiceEntry规则的定义和用法
- 3.5.3 ServiceEntry的典型应用
- 3.6 Istio代理规则配置:Sidecar
- 3.6.1 Sidecar配置示例
- 3.6.2 Sidecar规则定义
- 3.7 本章总结
- 第4章 可扩展的策略和遥测
- 4.1 Istio策略和遥测的原理
- 4.1.1 应用场景
- 4.1.2 工作原理
- 4.1.3 属性
- 4.1.4 Mixer的配置模型
- 4.2 Istio遥测适配器配置
- 4.2.1 Prometheus适配器
- 4.2.2 Fluentd适配器
- 4.2.3 StatsD适配器
- 4.2.4 Stdio适配器
- 4.2.5 Zipkin适配器
- 4.2.6 厂商适配器
- 4.3 Istio策略适配器配置
- 4.3.1 List适配器
- 4.3.2 Denier适配器
- 4.3.3 Memory Quota适配器
- 4.3.4 Redis Quota适配器
- 4.4 Kubernetes Env适配器配置
- 4.5 本章总结
- 第5章 可插拔的服务安全
- 5.1 Istio服务安全的原理
- 5.1.1 认证
- 5.1.2 授权
- 5.1.3 密钥证书管理
- 5.2 Istio服务认证配置
- 5.2.1 认证策略配置示例
- 5.2.2 认证策略的定义
- 5.2.3 TLS访问配置
- 5.2.4 认证策略的典型应用
- 5.3 Istio服务授权配置
- 5.3.1 授权启用配置
- 5.3.2 授权策略配置
- 5.3.3 授权策略的典型应用
- 5.4 本章总结
- 第6章 透明的Sidecar机制
- 6.1 Sidecar注入
- 6.1.1 Sidecar Injector自动注入的原理
- 6.1.2 Sidecar注入的实现
- 6.2 Sidecar流量拦截
- 6.2.1 iptables的基本原理
- 6.2.2 iptables的规则设置
- 6.2.3 流量拦截原理
- 6.3 本章总结
- 第7章 多集群服务治理
- 7.1 Istio多集群服务治理
- 7.1.1 Istio多集群的相关概念
- 7.1.2 Istio多集群服务治理现状
- 7.2 多集群模式1:多控制面
- 7.2.1 服务DNS解析的原理
- 7.2.2 Gateway连接的原理
- 7.3 多集群模式2:VPN直连单控制面
- 7.4 多集群模式3:集群感知服务路由单控制面
- 7.5 本章总结
- 实践篇
- 第8章 环境准备
- 8.1 在本地搭建Istio环境
- 8.1.1 安装Kubernetes集群
- 8.1.2 安装Helm
- 8.1.3 安装Istio
- 8.2 在公有云上使用Istio
- 8.3 尝鲜Istio命令行
- 8.4 应用示例
- 8.4.1 Weather Forecast简介
- 8.4.2 Weather Forecast部署
- 8.5 本章总结
- 第9章 流量监控
- 9.1 预先准备:安装插件
- 9.2 调用链跟踪
- 9.3 指标监控
- 9.3.1 Prometheus
- 9.3.2 Grafana
- 9.4 服务网格监控
- 9.5 本章总结
- 第10章 灰度发布
- 10.1 预先准备:将所有流量都路由到各个服务的v1版本
- 10.2 基于流量比例的路由
- 10.3 基于请求内容的路由
- 10.4 组合条件路由
- 10.5 多服务灰度发布
- 10.6 TCP服务灰度发布
- 10.7 自动化灰度发布
- 10.7.1 正常发布
- 10.7.2 异常发布
- 第11章 流量治理
- 11.1 流量负载均衡
- 11.1.1 ROUND_ROBIN模式
- 11.1.2 RANDOM模式
- 11.2 会话保持
- 11.2.1 实战目标
- 11.2.2 实战演练
- 11.3 故障注入
- 11.3.1 延迟注入
- 11.3.2 中断注入
- 11.4 超时
- 11.5 重试
- 11.6 HTTP重定向
- 11.7 HTTP重写
- 11.8 熔断
- 11.9 限流
- 11.9.1 普通方式
- 11.9.2 条件方式
- 11.10 服务隔离
- 11.10.1 实战目标
- 11.10.2 实战演练
- 11.11 影子测试
- 11.12 本章总结
- 第12章 服务保护
- 12.1 网关加密
- 12.1.1 单向TLS网关
- 12.1.2 双向TLS网关
- 12.1.3 用SDS加密网关
- 12.2 访问控制
- 12.2.1 黑名单
- 12.2.2 白名单
- 12.3 认证
- 12.3.1 实战目标
- 12.3.2 实战演练
- 12.4 授权
- 12.4.1 命名空间级别的访问控制
- 12.4.2 服务级别的访问控制
- 12.5 本章总结
- 第13章 多集群管理
- 13.1 实战目标
- 13.2 实战演练
- 13.3 本章总结
- 架构篇
- 第14章 司令官Pilot
- 14.1 Pilot的架构
- 14.1.1 Istio的服务模型
- 14.1.2 xDS协议
- 14.2 Pilot的工作流程
- 14.2.1 Pilot的启动与初始化
- 14.2.2 服务发现
- 14.2.3 配置规则发现
- 14.2.4 Envoy的配置分发
- 14.3 Pilot的插件
- 14.3.1 安全插件
- 14.3.2 健康检查插件
- 14.3.3 Mixer插件
- 14.4 Pilot的设计亮点
- 14.4.1 三级缓存优化
- 14.4.2 去抖动分发
- 14.4.3 增量EDS
- 14.4.4 资源隔离
- 14.5 本章总结
- 第15章 守护神Mixer
- 15.1 Mixer的整体架构
- 15.2 Mixer的服务模型
- 15.2.1 Template
- 15.2.2 Adapter
- 15.3 Mixer的工作流程
- 15.3.1 启动初始化
- 15.3.2 用户配置信息规则处理
- 15.3.3 访问策略的执行
- 15.3.4 无侵入遥测
- 15.4 Mixer的设计亮点
- 15.5 如何开发Mixer Adapter
- 15.5.1 Adapter实现概述
- 15.5.2 内置式Adapter的开发步骤
- 15.5.3 独立进程式Adapter的开发步骤
- 15.5.4 独立仓库式Adapter的开发步骤
- 15.6 本章总结
- 第16章 安全碉堡Citadel
- 16.1 Citadel的架构
- 16.2 Citadel的工作流程
- 16.2.1 启动初始化
- 16.2.2 证书控制器
- 16.2.3 gRPC服务器
- 16.2.4 证书轮换器
- 16.2.5 SDS服务器
- 16.3 本章总结
- 第17章 高性能代理Envoy
- 17.1 Envoy的架构
- 17.2 Envoy的特性
- 17.3 Envoy的模块结构
- 17.4 Envoy的线程模型
- 17.5 Envoy的内存管理
- 17.5.1 变量管理
- 17.5.2 Buffer管理
- 17.6 Envoy的流量控制
- 17.7 Envoy与Istio的配合
- 17.7.1 部署与交互
- 17.7.2 Envoy API
- 17.3 本章总结
- 第18章 代理守护进程Pilot-agent
- 18.1 为什么需要Pilot-agent
- 18.2 Pilot-agent的工作流程
- 18.2.1 Envoy的启动
- 18.2.2 Envoy的热重启
- 18.2.3 守护Envoy
- 18.2.4 优雅退出
- 18.3 本章总结
- 第19章 配置中心Galley
- 19.1 Galley的架构
- 19.1.1 MCP
- 19.1.2 MCP API
- 19.2 Galley的工作流程
- 19.2.1 启动初始化
- 19.2.2 配置校验
- 19.2.3 配置聚合与分发
- 19.3 本章总结
- 源码篇
- 第20章 Pilot源码解析
- 20.1 进程启动流程
- 20.2 关键代码分析
- 20.2.1 ConfigController
- 20.2.2 ServiceController
- 20.2.3 xDS异步分发
- 20.2.4 配置更新预处理
- 20.2.5 xDS配置的生成及分发
- 20.3 本章总结
- 第21章 Mixer源码解析
- 21.1 进程启动流程
- 21.1.1 runServer通过newServer新建Server对象
- 21.1.2 启动Mixer gRPC Server
- 21.2 关键代码分析
- 21.2.1 监听用户的配置
- 21.2.2 构建数据模型
- 21.2.3 Check接口
- 21.2.4 Report接口
- 21.2.5 请求分发
- 21.2.6 协程池
- 21.3 本章总结
- 第22章 Citadel源码解析
- 22.1 进程启动流程
- 22.2 关键代码分析
- 22.2.1 证书签发实体IstioCA
- 22.2.2 SecretController的创建和核心原理
- 22.2.3 CA Server的创建和核心原理
- 22.3 本章总结
- 第23章 Envoy源码解析
- 23.1 Envoy的初始化
- 23.1.1 启动参数bootstrap的初始化
- 23.1.2 Admin API的初始化
- 23.1.3 Worker的初始化
- 23.1.4 CDS的初始化
- 23.1.5 LDS的初始化
- 23.1.6 GuardDog的初始化
- 23.2 Envoy的运行和建立新连接
- 23.2.1 启动worker
- 23.2.2 Listener的加载
- 23.2.3 接收连接
- 23.3 Envoy对数据的读取、接收及处理
- 23.3.1 读取数据
- 23.3.2 接收数据
- 23.3.3 处理数据
- 23.4 Envoy发送数据到服务端
- 23.4.1 匹配路由
- 23.4.2 获取连接池
- 23.4.3 选择上游主机
- 23.5 本章总结
- 第24章 Galley源码解析
- 24.1 进程启动流程
- 24.1.1 RunServer的启动流程
- 24.1.2 RunValidation Server的启动流程
- 24.2 关键代码分析
- 24.2.1 配置校验
- 24.2.2 配置监听
- 24.2.3 配置分发
- 24.3 本章总结
- 结语
- 附录A 源码仓库介绍
- 附录B 实践经验和总结
- 关于华为云原生团队
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。