
作者:(美)ChristianPosta(克里
页数:456
出版社:电子工业出版社
出版日期:2023
ISBN:9787121457395
电子书格式:pdf/epub/txt
内容简介
Istio作为服务网格技术拥有代表性的产品,历经多年发展已日渐成熟,并受到越来越多开发者的青睐。本书以 Istio 服务网格为核心,内容包括基本概念、核心功能、运维、企业级落地四大部分,从基本的安装部署到功能实践,从底层原理分析到故障排查,从进阶操作到企业级实战,由浅入深地介绍了 Istio 服务网格的各个方面。本书适合正在使用或关注 Istio 的开发工程师、运维工程师、架构师等云原生领域从业者阅读。无论你是服务网格技术的初学者,还是该领域的专家,都能从本书中寻找到有借鉴意义的理论及实践指导。
作者简介
Christian Posta(@christianposta)是 Solo.io 公司副总裁,全球领域首席技术官。他在云原生社区中以作家、博主、演说家,以及服务网格和云原生生态中各种开源项目的贡献者身份而闻名。Christian 曾在传统企业和大型互联网公司工作过,现在帮助组织创建和部署大规模的、云原生的、弹性的分布式架构。他擅长指导、培训和领导团队在分布式系统概念、微服务、DevOps 和云原生应用程序设计方面取得成功。
Rinor Maloku(@rinormaloku)是 Solo.io 公司的工程师。他为采用应用网络解决方案(如服务网格)的客户提供咨询服务。此前,他在 Red Hat 公司工作,在那里,他开发了中间件软件,使研发团队能够确保其服务的高可用性。作为一名自由职业者,他服务了多位 DAX 30 成员,以充分利用云计算技术的潜力。
马若飞,就职于飞维美地(FreeWheel)北京研发中心,担任首席工程师,主要负责微服务架构设计和云原生落地工作。《Istio实战指南》作者,极客时间《Service Mesh实战》专栏作者,《云原生应用架构:微服务开发实践》主要作者,人民邮电出版社IT专业图书专家顾问,ServiceMesher技术社区和云原生社区管理委员会成员。发表、翻译多篇云原生领域前沿技术文章,热衷于技术分享。Christian Posta(@christianposta)是 Solo.io 公司副总裁,全球领域首席技术官。他在云原生社区中以作家、博主、演说家,以及服务网格和云原生生态中各种开源项目的贡献者身份而闻名。Christian 曾在传统企业和大型互联网公司工作过,现在帮助组织创建和部署大规模的、云原生的、弹性的分布式架构。他擅长指导、培训和领导团队在分布式系统概念、微服务、DevOps 和云原生应用程序设计方面取得成功。
Rinor Maloku(@rinormaloku)是 Solo.io 公司的工程师。他为采用应用网络解决方案(如服务网格)的客户提供咨询服务。此前,他在 Red Hat 公司工作,在那里,他开发了中间件软件,使研发团队能够确保其服务的高可用性。作为一名自由职业者,他服务了多位 DAX 30 成员,以充分利用云计算技术的潜力。
马若飞,就职于飞维美地(FreeWheel)北京研发中心,担任首席工程师,主要负责微服务架构设计和云原生落地工作。《Istio实战指南》作者,极客时间《Service Mesh实战》专栏作者,《云原生应用架构:微服务开发实践》主要作者,人民邮电出版社IT专业图书专家顾问,ServiceMesher技术社区和云原生社区管理委员会成员。发表、翻译多篇云原生领域前沿技术文章,热衷于技术分享。
宋净超(Jimmy Song),Tetrate 布道师,云原生社区创始人,蚂蚁集团前云原生布道师及开源管理负责人,电子工业出版社图书出品人,独立撰稿人。Kubernetes 、Istio 等开源技术的早期使用及推广者。著有《未来架构:从服务化到云原生》《深入理解Istio:云原生服务网格进阶实战》,参与过多部作品的翻译工作。
罗广明,字节跳动服务框架团队架构师,云原生社区管理委员会成员、北京站站长。先后在爱立信、百度从事云原生、微服务及开源相关工作,后加入字节跳动,负责 CloudWeGo 等微服务项目开源相关工作。长期关注云原生 & 微服务领域前沿技术、架构演进及标准化进程。
本书特色
1. 本书作者为全球服务网格技术专家,内容更加全面、翔实。
2. 本书译者为国内云原生社区技术专家,力求将内容准备传达表述,并且对于难以理解的内容进行了中文化处理。
3. 本书内容全面,覆盖Istio新版本及核心内容,示例代码丰富完善。
这本书提供了一个清晰的视角来展示如何将应用程序与基础设施解耦。希望你能像我一样喜欢它。
序作者Eric Brewer,基础设施副总裁、Google研究员
我真的很喜欢这本书对Istio循序渐进的讲解。我希望把它分享给每一个使用Kubernetes进行开发的人。
Christoph Schubert,SAP
这是一份全面的指南,用于深入理解Istio服务网格。
Fotis Stamatelopoulos,Upwork
阅读这本书,感觉就像正跟随一位技艺高超的行业专家在学习。
Paolo Antinori,Red Hat
目录
1 Istio 服务网格………………………………………………………………. 2
1.1 快速迭代带来的挑战 ………………………………………………………………………….. 3
1.1.1 不可靠的云基础设施 ……………………………………………………………….. 5
1.1.2 服务通信需要弹性 …………………………………………………………………… 6
1.1.3 实时可观测性 ………………………………………………………………………….. 6
1.2 使用应用程序库解决问题 …………………………………………………………………… 7
1.3 基础设施的解决思路 ………………………………………………………………………….. 9
1.3.1 应用程序感知服务代理 ……………………………………………………………. 9
1.3.2 认识 Envoy 代理 …………………………………………………………………….. 10
1.4 什么是服务网格 ……………………………………………………………………………….. 11
1.5 Istio 服务网格简介 ……………………………………………………………………………. 13
1.5.1 服务网格与企业服务总线的关系 ……………………………………………. 14
1.5.2 服务网格与 API 网关的关系 …………………………………………………… 16
1.5.3 在非微服务架构中使用 Istio …………………………………………………… 17
1.5.4 在分布式架构中使用 Istio ………………………………………………………. 18
1.5.5 使用服务网格的缺点 ……………………………………………………………… 19
本章小结 ………………………………………………………………………………………………….. 19
2 Istio 的步……………………………………………………………..21
2.1 在 Kubernetes 上部署 Istio …………………………………………………………………. 21
2.1.1 使用 Docker Desktop 来演示样例 ……………………………………………. 22
2.1.2 获取 Istio 发行版 ……………………………………………………………………. 22
2.1.3 将 Istio 组件安装到 Kubernetes 中 …………………………………………… 24
2.2 了解 Istio 控制平面 …………………………………………………………………………… 25
2.2.1 istiod 简介 ……………………………………………………………………………… 26
2.2.2 入口网关和出口网关 ……………………………………………………………… 30
2.3 在服务网格中部署你的个应用程序 ……………………………………………. 31
2.4 Istio 的可观测性、弹性和流量路由 …………………………………………………… 36
2.4.1 Istio 与可观测性 …………………………………………………………………….. 37
2.4.2 Istio 与弹性 ……………………………………………………………………………. 44
2.4.3 Istio 与流量路由 …………………………………………………………………….. 46
本章小结 ………………………………………………………………………………………………….. 50
3 Istio 的数据平面 :Envoy ……………………………………………….51
3.1 什么是 Envoy 代理 ……………………………………………………………………………. 51
3.1.1 Envoy 的核心功能 ………………………………………………………………….. 53
3.1.2 Envoy 与其他代理的比较 ……………………………………………………….. 58
3.2 配置 Envoy ……………………………………………………………………………………….. 58
3.2.1 静态配置 ……………………………………………………………………………….. 58
3.2.2 动态配置 ……………………………………………………………………………….. 60
3.3 Envoy 实战 ……………………………………………………………………………………….. 61
3.3.1 Envoy 的 Admin API ………………………………………………………………. 65
3.3.2 Envoy 的请求重试 ………………………………………………………………….. 66
3.4 Envoy 与 Istio 的融合 ………………………………………………………………………… 67
本章小结 ………………………………………………………………………………………………….. 69
第 2 部分 保护、观察和控制服务网格中的流量
4 Istio 网关 :将流量导入集群…………………………………………….72
4.1 流量入口概念 …………………………………………………………………………………… 73
4.1.1 虚拟 IP 地址 :简化服务访问 ………………………………………………….. 73
4.1.2 虚拟主机 :来自单个接入点的多个服务 …………………………………. 75
4.2 Istio 入口网关 …………………………………………………………………………………… 75
4.2.1 声明 Gateway 资源 …………………………………………………………………. 77
4.2.2 虚拟服务的网关路由 ……………………………………………………………… 79
4.2.3 流量整体视图 ………………………………………………………………………… 82
4.2.4 对比 Istio 入口网关与 Kubernetes Ingress ………………………………… 82
4.2.5 对比 Istio 入口网关与 API 网关 ………………………………………………. 83
4.3 保护网关流量 …………………………………………………………………………………… 83
4.3.1 使用 TLS 的 HTTP 流量 …………………………………………………………. 84
4.3.2 将 HTTP 重定向到 HTTPS ……………………………………………………… 88
4.3.3 使用 mTLS 的 HTTP 通信 ………………………………………………………. 89
4.3.4 为多个虚拟主机提供 TLS 服务 ………………………………………………. 92
4.4 TCP 流量 ………………………………………………………………………………………….. 93
4.4.1 在 Istio 网关上暴露 TCP 端口 …………………………………………………. 94
4.4.2 使用 SNI 直通的流量路由 ………………………………………………………. 96
4.5 网关使用建议 …………………………………………………………………………………… 99
4.5.1 拆分网关的职能 …………………………………………………………………….. 99
4.5.2 网关注入 ……………………………………………………………………………… 101
4.5.3 入口网关访问日志 ……………………………………………………………….. 102
4.5.4 减少网关配置 ………………………………………………………………………. 103
本章小结 ………………………………………………………………………………………………… 104
5 流量控制 :细粒度流量路由 ………………………………………….. 105
5.1 减少部署新代码带来的风险 ……………………………………………………………. 105
5.2 Istio 的请求路由 ……………………………………………………………………………… 109
5.2.1 清理工作空间 ………………………………………………………………………. 109
5.2.2 部署 catalog 服务的 v1 版本 ………………………………………………….. 110















