《深入浅出Istio》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:崔秀龙著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121359644
  • 页数:202 页
图书介绍:在微服务浪潮的推动之下,微服务的治理成为了新的技术热点,从Linkerd提出Service Mesh(服务网格)概念开始,这一理念的几个相关产品经过一番短暂较量,Google/IBM/Lyft合作推出的 Istio 系统成为了目前服务网格技术的事实标准。本书试图从基本概念开始,结合实际工作场景和企业试点采纳步骤,来对这一新生系统做一个相对完整的应用指南。

第1章 服务网格的历史 1

1.1 Spring Cloud 3

1.2 Linkerd 4

1.3 Istio 6

1.4国内服务网格的兴起 6

第2章 服务网格的基本特性 8

2.1连接 9

2.2安全 12

2.3策略 13

2.4观察 13

第3章 Istio基本介绍 15

3.1 Istio的核心组件及其功能 16

3.1.1 Pilot 16

3.1.2 Mixer 18

3.1.3 Citadel 20

3.1.4 Sidecar(Envoy) 20

3.2核心配置对象 21

3.2.1 networking.istio.io 22

3.2.2 config.istio.io 24

3.2.3 authentication.istio.io 27

3.2.4 rbac.istio.io 28

3.3小结 28

第4章 Istio快速入门 29

4.1环境介绍 30

4.2快速部署Istio 31

4.3部署两个版本的服务 33

4.4部署客户端服务 37

4.5验证服务 39

4.6创建目标规则和默认路由 39

4.7小结 42

第5章 用Helm部署Istio 43

5.1 Istio Chart概述 44

5.1.1 Chart.yaml 44

5.1.2 values-*.yaml 45

5.1.3 requirements.yaml 46

5.1.4 templates/_ affinity.tpl 47

5.1.5 templates/sidecar-injector-configmap.yaml 47

5.1.6 templates/configmap.yaml 48

5.1.7 templates/crds.yaml 48

5.1.8 charts 48

5.2全局变量介绍 49

5.2.1 hub和tag 49

5.2.2 ingress.enabled 50

5.2.3 Proxy相关的参数 51

5.2.4 proxy_ init.image 53

5.2.5 imagePullPolicy 53

5.2.6 controlPlaneSecurityEnabled 53

5.2.7 disablePolicyChecks 53

5.2.8 enableTracing 53

5.2.9 mtls.enabled 53

5.2.10 imagePullSecrets 54

5.2.11 arch 54

5.2.12 oneNamespace 54

5.2.13 configValidation 54

5.2.14 meshExpansion 55

5.2.15 meshExpansionILB 55

5.2.16 defaultResources 55

5.2.17 hyperkube 55

5.2.18 priorityClassName 55

5.2.19 crds 56

5.2.20小结 56

5.3 Istio安装清单的生成和部署 56

5.3.1编辑values.yaml 56

5.3.2生成部署清单 58

5.3.3部署Istio 58

5.4小结 59

第6章 Istio的常用功能 60

6.1在网格中部署应用 61

6.1.1对工作负载的要求 63

6.1.2使用自动注入 64

6.1.3准备测试应用 69

6.2修改Istio配置 69

6.3使用Istio Dashboard 70

6.3.1启用Grafana 70

6.3.2访问Grafana 71

6.3.3开放Grafana服务 73

6.3.4学习和定制 74

6.4使用Prometheus 76

6.4.1访问Prometheus 76

6.4.2开放Prometheus服务 77

6.4.3学习和定制 77

6.5使用Jaeger 77

6.5.1启用Jaeger 78

6.5.2访问Jaeger 78

6.5.3跟踪参数的传递 81

6.5.4开放Jaeger服务 86

6.6使用Kiali 87

6.6.1启用Kiali 87

6.6.2访问Kiali 88

6.6.3开放Kiali服务 92

6.7小结 92

第7章 HTTP流量管理 93

7.1定义目标规则 94

7.2定义默认路由 98

7.3流量的拆分和迁移 101

7.4金丝雀部署 105

7.5根据来源服务进行路由 108

7.6对URI进行重定向 110

7.7通信超时控制 115

7.8故障重试控制 116

7.9入口流量管理 120

7.9.1使用Gateway开放服务 121

7.9.2为Gateway添加证书支持 123

7.9.3为Gateway添加多个证书支持 124

7.9.4配置入口流量的路由 126

7.10出口流量管理 127

7.10.1设置Sidecar的流量劫持范围 128

7.10.2设置ServiceEntry 129

7.11新建Gateway控制器 131

7.12设置服务熔断 134

7.13故障注入测试 136

7.13.1注入延迟 137

7.13.2注入中断 138

7.14流量复制 139

第8章 Mixer适配器的应用 142

8.1 Mixer适配器简介 143

8.2基于Denier适配器的访问控制 144

8.3基于Listchecker适配器的访问控制 146

8.4使用MemQuota适配器进行服务限流 150

8.4.1 Mixer对象的定义 150

8.4.2客户端对象定义 152

8.4.3测试限流功能 153

8.4.4注意事项 154

8.5使用RedisQuota适配器进行服务限流 155

8.5.1启动Redis服务 155

8.5.2定义限流相关对象 156

8.5.3测试限流功能 158

8.6为Prometheus定义监控指标 158

8.6.1默认监控指标 159

8.6.2自定义监控指标 162

8.7使用stdio输出自定义日志 165

8.7.1默认的访问日志 167

8.7.2定义日志对象 169

8.7.3测试输出 170

8.8使用Fluentd输出日志 171

8.8.1部署Fluentd 171

8.8.2定义日志对象 173

8.8.3测试输出 174

8.9小结 175

第9章 Istio的安全加固 176

9.1 Istio安全加固概述 177

9.2启用mTLS 179

9.3设置RBAC 183

9.4 RBAC的除错过程 189

第10章 Istio的试用建议 192

10.1Istio自身的突出问题 193

10.2确定功能范围 194

10.3选择试用业务 196

10.4试用过程 197

10.4.1制定目标 197

10.4.2方案部署 198

10.4.3测试验证 200

10.4.4切换演练 201

10.4.5试点上线 201