第 1 章 Service Mesh 概述 ............................................................................................................ 1
1.1 Service Mesh 基本概念 ............................................................................................... 2
1.2 后 Kubernetes 时代的微服务 ....................................................................................... 5
1.2.1 重要观点 ......................................................................................................... 6
1.2.2 Kubernetes 与 Service Mesh .............................................................................. 6
1.2.3 kube-proxy 组件 ............................................................................................... 8
1.2.4 Kubernetes Ingress 与 Istio Gateway .................................................................. 8
1.2.5 xDS 协议 ......................................................................................................... 9
1.2.6 Envoy ............................................................................................................ 11
1.2.7 Istio Service Mesh .......................................................................................... 12
1.3 什么是 Istio .............................................................................................................. 12
1.3.1 为什么使用 Istio ............................................................................................ 13
1.3.2 Istio 的平台支持 ............................................................................................ 13
1.4 本章小结 .................................................................................................................. 14
第 2 章 核心功能 .......................................................................................................................... 15
2.1 流量控制 .................................................................................................................. 15
2.1.1 请求路由和流量转移 ..................................................................................... 16
2.1.2 弹性功能 ....................................................................................................... 17
2.1.3 调试能力 ....................................................................................................... 18
2.1.4 实现流量控制的自定义资源 .......................................................................... 19
2.2 安全 ......................................................................................................................... 20
2.2.1 认证 .............................................................................................................. 20
2.2.2 授权 .............................................................................................................. 21
2.3 可观察性 .................................................................................................................. 21
2.4 本章小结 .................................................................................................................. 23
第 3 章 架构解析 .......................................................................................................................... 24
3.1 Istio 的架构组成 ....................................................................................................... 24
3.2 Istio 的设计目标 ....................................................................................................... 25
3.3 Istio 的架构变迁 ....................................................................................................... 26
3.4 控制平面 .................................................................................................................. 27
3.4.1 Pilot ............................................................................................................... 27
3.4.2 Citadel ........................................................................................................... 37
3.4.3 Galley ............................................................................................................ 40
3.5 数据平面 .................................................................................................................. 45
3.5.1 数据平面的概念 ............................................................................................ 45
3.5.2 Sidecar 注入及透明流量劫持 ......................................................................... 47
3.5.3 Sidecar 流量路由机制分析 ............................................................................. 57
3.5.4 Envoy ............................................................................................................ 86
3.5.5 MOSN ........................................................................................................... 93
3.6 本章小结 .................................................................................................................. 98
第 4 章 安装与部署 ...................................................................................................................... 99
4.1 安装 ......................................................................................................................... 99
4.1.1 环境准备 ....................................................................................................... 99
4.1.2 安装 Kubernetes 集群 ................................................................................... 100
4.1.3 安装 Istio ..................................................................................................... 100
4.2 升级 ....................................................................................................................... 102
4.2.1 金丝雀升级 ................................................................................................. 102
4.2.2 热升级 ......................................................................................................... 104
4.3 Bookinfo 实例 ......................................................................................................... 104
4.3.1 环境准备 ..................................................................................................... 105
4.3.2 部署应用 ..................................................................................................... 106
4.3.3 启动应用服务 .............................................................................................. 106
4.3.4 确定 Ingress 的 IP 地址和端口 ..................................................................... 107
4.3.5 集群外部访问应用 ....................................................................................... 108
4.4 本章小结 ................................................................................................................ 108
第 5 章 流量控制 ........................................................................................................................ 109
5.1 流量控制 CRD ........................................................................................................ 109
5.1.1 VirtualService ............................................................................................... 110
5.1.2 DestinationRule ............................................................................................ 111
5.1.3 Gateway ....................................................................................................... 112
5.1.4 ServiceEntry ................................................................................................. 114
5.1.5 Sidecar ......................................................................................................... 115
5.2 路由 ..........