《Istio实战指南》是由人民邮电出版社出版的一本关于Istio方面的书籍,作者是马若飞,主要介绍了关于Istio实战、Istio指南方面的知识内容,目前在Istio类书籍综合评分为:8.7分。
书籍介绍
1.Service Mesher小区组员著作,做为Service Mesh的布道者,该小区组员针对Istio的掌握和认知能力都具有一定的权-威性。 2.这书根据*-新的Istio 1.1版本号创作。 3.这书配套设施编码能够读者下载。 服务项目网格技术为目前的微服务架构产生了极大的转型,开发者只必须致力于关键业务逻辑有关的设 计开发设计工作中,而不用自身手动式保持各种各样繁杂的服务项目整治作用。创作者融合自身在企业微开放式创新全过程中的社会经验,以通俗易懂的方法详细介绍了 Istio 服务项目栅格的关键知识结构图,合用很多案例展现了 Istio 的常见和关键的特性。做为一本 Istio 好用新手入门书籍,这书能够为入门的用户出示便捷的新手入门和实践活动具体指导。 —张远 FreeWheel 产品研发高级副总裁 服务项目网格技术的出現很切实解决了微服务架构中通讯层遭遇的困扰,而Istio 已然成为在其中榜首并获得开发者的认同。这书以处理微服务的通讯难题做为突破口,引进服务项目栅格的定义,并根据一系列由浅入深的范例展现了 Istio 的关键作用和特点,可做为开发者的新手入门参照。 —徐昊 Thoughtworks 中国地区 CTO 服务项目网格技术是近些年的前沿科技,在其中的意味着之作 Istio 一经发布就备受小区和开发者的青睐。 这书朝向对网格技术很感兴趣并愿意新手入门的开发者。根据阅读文章这书,用户能够掌握到与服务项目栅格有关的专业知识及其 Istio 的构架和技术性特性,并根据书中很多的案例训练来把握 Istio 丰富多彩和好用的作用。 —白伯纯 前人人网系统架构师
《Istio实战指南》是Istio服务项目网格技术的新手入门书籍。本书共分成9章,从入门到精通地详细介绍了Istio的有关专业知识,融合很多的范例,清楚而详尽地论述了Istio的关键特点。 《Istio实战指南》的第1章详细介绍了服务项目栅格的渊源和发展趋势,第2~4章详细介绍了Istio的基本要素和安裝。第5~8章,选用案例训练的方法详尽地详细介绍了Istio的流量管理、对策和遥测的配备、可视化工具的集成化及其安全性有关的特点。这些是《Istio实战指南》的重中之重,能够协助用户融会贯通,把Istio运用到真正的新项目开发设计中。第9章是升阶內容,详细介绍了在云服务平台集成化Istio的方法、高級流量监控及其调节和常见故障清除的內容。《Istio实战指南》的附则一部分例举了安裝选择项、特性词汇表、表达式言语、电源适配器目录和istioctl指令,供用户查看参照。 《Istio实战指南》合适有一定Kubernetes基本,对服务项目栅格和Istio技术性很感兴趣的开发者和运维管理工作人员阅读文章。
目录
- 第 1章 服务网格 1
- 1.1 服务端架构的发展——从单体应用到微服务 1
- 1.1.1 单体应用 1
- 1.1.2 多层结构 3
- 1.1.3 面向服务的架构 4
- 1.1.4 微服务架构 5
- 1.2 微服务架构的痛点 6
- 1.3 服务网格的发展 7
- 1.3.1 耦合阶段 7
- 1.3.2 封装公用库 8
- 1.3.3 Sidecar模式 9
- 1.3.4 服务网格出现 11
- 1.4 什么是服务网格 12
- 1.4.1 基本概念 12
- 1.4.2 服务网格的功能 12
- 1.5 服务网格产品介绍 14
- 1.5.1 Linkerd 14
- 1.5.2 Envoy 14
- 1.5.3 Istio 15
- 1.5.4 其他 16
- 1.6 小结 17
- 第 2章 Istio入门 18
- 2.1 什么是Istio 18
- 2.2 Istio的架构 19
- 2.3 Istio的核心控件 20
- 2.3.1 Envoy 20
- 2.3.2 Pilot 21
- 2.3.3 Mixer 22
- 2.3.4 Citadel 23
- 2.3.5 Galley 23
- 2.4 Istio的主要功能 23
- 2.4.1 流量管理 23
- 2.4.2 策略和遥测 27
- 2.4.3 可视化 28
- 2.4.4 安全 28
- 2.5 小结 30
- 第3章 Istio的安装和部署 32
- 3.1 准备工作 32
- 3.1.1 安装Go语言 32
- 3.1.2 安装Docker 35
- 3.1.3 Kubernetes平台搭建 37
- 3.2 安装Istio 42
- 3.2.1 下载安装包 43
- 3.2.2 安装Helm 43
- 3.2.3 使用Helm安装Istio 44
- 3.2.4 确认安装结果 47
- 3.2.5 问题处理 49
- 3.3 小结 50
- 第4章 Bookinfo应用 51
- 4.1 什么是Bookinfo应用 51
- 4.2 部署Bookinfo应用 53
- 4.2.1 安装和部署 53
- 4.2.2 默认目标规则 61
- 4.3 小结 61
- 第5章 流量管理 63
- 5.1 流量管理中的规则配置 63
- 5.1.1 VirtualService 64
- 5.1.2 DestinationRule 67
- 5.1.3 ServiceEntry 68
- 5.1.4 Gateway 69
- 5.2 流量转移 70
- 5.2.1 蓝绿部署 70
- 5.2.2 金丝雀发布 76
- 5.2.3 A/B测试 79
- 5.3 超时和重试 80
- 5.3.1 超时 81
- 5.3.2 重试 83
- 5.4 控制入口流量 84
- 5.4.1 确定入口IP和端口 85
- 5.4.2 配置网关 86
- 5.5 控制出口流量 89
- 5.5.1 启动Sleep服务 89
- 5.5.2 配置外部服务 90
- 5.5.3 配置外部HTTPS服务 92
- 5.5.4 为外部服务设置路由规则 93
- 5.6 熔断 94
- 5.6.1 熔断简介 94
- 5.6.2 设置后端服务 95
- 5.6.3 设置客户端 96
- 5.6.4 触发熔断机制 97
- 5.7 小结 99
- 第6章 策略与遥测 100
- 6.1 Mixer的工作原理 100
- 6.2 限流策略 103
- 6.2.1 Mixer配置项 104
- 6.2.2 客户端配置项 105
- 6.2.3 有条件的限流 106
- 6.3 黑名单和白名单策略 107
- 6.3.1 初始化路由规则 107
- 6.3.2 用Denier适配器实现黑名单 108
- 6.3.3 用List适配器实现黑白名单 109
- 6.4 遥测 111
- 6.4.1 收集新的指标数据 111
- 6.4.2 指标配置解析 113
- 6.4.3 日志配置解析 114
- 6.4.4 用Prometheus查看指标 114
- 6.5 小结 115
- 第7章 可视化工具 117
- 7.1 分布式追踪 117
- 7.1.1 启动Jaeger 118
- 7.1.2 生成追踪数据 119
- 7.1.3 追踪原理 120
- 7.2 使用Prometheus查询指标 121
- 7.2.1 Prometheus简介 121
- 7.2.2 查询Istio指标 122
- 7.3 用Grafana监控指标数据 124
- 7.3.1 Grafana简介 124
- 7.3.2 安装Grafana 124
- 7.3.3 指标数据展示 125
- 7.4 服务网格可视化工具——Kiali 127
- 7.4.1 Kiali简介 127
- 7.4.2 安装和启动Kiali 128
- 7.4.3 使用Kiali观测服务网格 129
- 7.5 使用EFK收集和查看日志 132
- 7.5.1 集中式日志架构 132
- 7.5.2 安装EFK 133
- 7.5.3 用Kibana查看生成的日志 140
- 7.6 小结 142
- 第8章 安全 144
- 8.1 认证 144
- 8.1.1 Istio中的认证方式 144
- 8.1.2 认证策略 146
- 8.2 授权 149
- 8.2.1 启用授权 149
- 8.2.2 授权策略 150
- 8.3 HTTP服务的访问控制 152
- 8.3.1 准备工作 152
- 8.3.2 命名空间的访问控制 154
- 8.3.3 服务级别的访问控制 155
- 8.4 TCP服务的访问控制 157
- 8.4.1 准备工作 157
- 8.4.2 启动访问控制 160
- 8.5 外部密钥和证书 162
- 8.5.1 插入密钥和证书 162
- 8.5.2 检查新证书 163
- 8.6 小结 163
- 第9章 进阶 165
- 9.1 云平台集成 165
- 9.1.1 在Google Cloud GKE上启用Istio 165
- 9.1.2 使用阿里云Kubernetes容器服务 169
- 9.2 高级流量控制 171
- 9.2.1 故障注入 171
- 9.2.2 流量镜像 174
- 9.3 调试和故障排查 179
- 9.3.1 Istio组件的日志 180
- 9.3.2 调试 181
- 9.3.3 故障排查 183
- 9.4 小结 186
- 附录 187
- 附录A Helm安装选项 187
- A.1 certmanager选项 187
- A.2 galley选项 188
- A.3 gateways选项 188
- A.4 global选项 191
- A.5 grafana选项 194
- A.6 Istio_cni选项 196
- A.7 Istiocoredns选项 196
- A.8 kiali选项 196
- A.9 mixer选项 197
- A.10 nodeagent选项 198
- A.11 pilot选项 198
- A.12 prometheus选项 199
- A.13 security选项 200
- A.14 servicegraph选项 200
- A.15 sidecarInjectorWebhook选项 200
- A.16 tracing选项 201
- 附录B 属性词汇表 202
- 附录C 表达式语言 205
- 附录D 适配器列表 206
- 附录E 命令行工具istioctl 207
- E.1 istioctl authn 207
- E.2 istioctl create 207
- E.3 istioctl delete 208
- E.4 istioctl deregister 208
- E.5 istioctl gen-deploy 208
- E.6 istioctl get 209
- E.7 istioctl kube-inject 209
- E.8 istioctl proxy-config 210
- E.9 istioctl register 210
- E.10 istioctl replace 210
- E.11 istioctl version 210