Istio作为服务网格技术最具代表性的产品,历经多年发展已日渐成熟,并受到越来越多开发者的青睐。本书以 Istio 服务网格为核心,内容包括基本概念、核心功能、运维、企业级落地四大部分,从基本的安装部署到功能实践,从底层原理分析到故障排查,从进阶操作到企业级实战,由浅入深地介绍了 Istio 服务网格的各个方面。
《Istio最佳实战》适合正在使用或关注 Istio 的开发工程师、运维工程师、架构师等云原生领域从业者阅读。无论你是服务网格技术的初学者,还是该领域的专家,都能从本书中寻找到有借鉴意义的理论及实践指导。
作者简介:
Christian Posta(@christianposta)是 Solo.io 公司副总裁,全球领域首席技术官。他在云原生社区中以作家、博主、演说家,以及服务网格和云原生生态中各种开源项目的贡献者身份而闻名。Christian 曾在传统企业和大型互联网公司工作过,现在帮助组织创建和部署大规模的、云原生的、弹性的分布式架构。他擅长指导、培训和领导团队在分布式系统概念、微服务、DevOps 和云原生应用程序设计方面取得成功。 Rinor Maloku(@rinormaloku)是 Solo.io 公司的工程师。他为采用应用网络解决方案(如服务网格)的客户提供咨询服务。此前,他在 Red Hat 公司工作,在那里,他开发了中间件软件,使研发团队能够确保其服务的高可用性。作为一名自由职业者,他服务了多位 DAX 30 成员,以充分利用云计算技术的潜力。
目录:
第 1 部分 理解 Istio 2
第1章 Istio 服务网格 3
1.1 快速迭代带来的挑战 4
1.2 使用应用程序库解决问题 8
1.3 基础设施的解决思路 10
1.4 什么是服务网格 12
1.5 Istio 服务网格简介 14
本章小结 20
第2章 Istio 的第一步 22
2.1 在 Kubernetes 上部署 Istio 22
2.2 了解 Istio 控制平面 26
2.3 在服务网格中部署你的第一个应用程序 32
2.4 Istio 的可观测性、弹性和流量路由 37
本章小结 51
第3章 Istio 的数据平面 :Envoy 52
3.1 什么是 Envoy 代理 52
3.2 配置 Envoy 59
3.3 Envoy 实战 62
3.4 Envoy 与 Istio 的融合 68
本章小结 70
第 2 部分 保护、观察和控制服务网格中的流量 71
第4章 Istio 网关 :将流量导入集群 72
4.1 流量入口概念 73
4.2 Istio 入口网关 75
4.3 保护网关流量 83
4.4 TCP 流量 93
4.5 网关使用建议 99
本章小结 104
第5章 流量控制 :细粒度流量路由 105
5.1 减少部署新代码带来的风险 105
5.2 Istio 的请求路由 109
5.3 流量迁移 117
5.4 进一步降低风险 :流量镜像 125
5.5 使用 Istio 的服务发现路由到集群外部的服务 127
本章小结 131
第6章 弹性 :应对应用程序的网络挑战 132
6.1 实现应用程序的弹性 132
6.2 客户端负载均衡 135
6.3 位置感知负载均衡 144
6.4 透明的超时和重试 152
6.5 Istio 中的熔断 162
本章小结 172
第7章 可观测性 :理解服务的行为 174
7.1 什么是可观测性 175
7.2 探索 Istio 的指标 176
7.3 使用 Prometheus 抓取 Istio 指标 184
7.4 自定义 Istio 标准指标 190
本章小结 201
第8章 可观测性 :使用 Grafana、Jaeger 和 Kiali 观察网络行为 202
8.1 使用 Grafana 观察 Istio 服务和控制平面指标 202
8.2 分布式追踪 206
8.3 使用 Kiali 观察服务网格 220
本章小结 225
第9章 确保微服务通信安全 227
9.1 应用程序网络安全需求 227
9.2 自动 mTLS 231
9.3 授权服务间流量 238
9.4 终端用户的认证和授权 249
9.5 与自定义的外部授权服务集成 256
本章小结 260
第 3 部分 Istio 运维 261
第10章 数据平面的故障排查 262
10.1 最常见错误 :数据平面配置错误 263
10.2 识别数据平面的问题 265
10.3 从 Envoy 配置中发现错误 270
10.4 通过 Envoy 的遥测能力了解应用程序 285
本章小结 288
第11章 控制平面性能优化 290
11.1 控制平面的主要目标 290
11.2 监控控制平面 293
11.3 性能调整 298
11.4 性能优化准则 308
本章小结 310
第 4 部分 在组织中落地 Istio 311
第12章 在组织中扩展 Istio 312
12.1 多集群服务网格的好处 312
12.2 多集群服务网格概述 313
12.3 多集群、多网络、多控制平面的服务网格 319
本章小结 339
第13章 将虚拟机工作负载纳入网格 340
13.1 Istio 的虚拟机支持 341
13.2 设置基础设施 348
13.3 将网格扩展到虚拟机 352
13.4 揭开 DNS 代理的神秘面纱 364
13.5 自定义代理的行为 367
13.6 将 WorkloadEntry 从网格中删除 368
本章小结 369
第14章 在请求路径上扩展 Istio 370
14.1 Envoy 的扩展能力 371
14.2 使用 EnvoyFilter 资源配置 Envoy 过滤器 374
14.3 调用外部的限流请求 379
14.4 使用 Lua 扩展 Istio 的数据平面 384
14.5 使用 WebAssembly 扩展 Istio 的数据平面 387
本章小结 393
A 自定义 Istio 安装.394
B Istio 的 sidecar 及其注入选项 401
C Istio 安全——SPIFFE 407
D Istio 故障排查 417
E 如何配置虚拟机接入网格 425
点击下载