您好,欢迎来到聚文网。 登录 免费注册
Istio最佳实战

Istio最佳实战

  • 字数: 638400
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: (美)克里斯汀·波斯塔,(美)里诺·马洛库
  • 出版日期: 2023-07-01
  • 商品条码: 9787121457395
  • 版次: 1
  • 开本: 16开
  • 页数: 456
  • 出版年份: 2023
定价:¥138 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
"1.本书作者为全球服务网格技术专家,内容更加全面、权威、翔实。 2.本书译者为国内云原生社区技术专家,力求将内容准备传达表述,并且对于难以理解的内容进行了中文化处理。 3.本书内容全面,覆盖Istio新版本及核心内容,示例代码丰富完善。"
内容简介
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技术社区和云原生社区管理委员会成员。发表、翻译多篇云原生领域前沿技术文章,热衷于技术分享。 宋净超(Jimmy Song),Tetrate 布道师,云原生社区创始人,蚂蚁集团前云原生布道师及开源管理负责人,电子工业出版社图书出品人,独立撰稿人。Kubernetes 、Istio 等开源技术的早期使用及推广者。著有《未来架构:从服务化到云原生》《深入理解Istio:云原生服务网格进阶实战》,参与过多部作品的翻译工作。 罗广明,字节跳动服务框架团队架构师,云原生社区管理委员会成员、北京站站长。先后在爱立信、百度从事云原生、微服务及开源相关工作,后加入字节跳动,负责 CloudWeGo 等微服务项目开源相关工作。长期关注云原生 & 微服务领域前沿技术、架构演进及标准化进程。"
目录
第1部分理解Istio
1Istio服务网格.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.5Istio服务网格简介.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
2Istio的第一步.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.1istiod简介.26
2.2.2入口网关和出口网关.30
2.3在服务网格中部署你的第一个应用程序.31
2.4Istio的可观测性、弹性和流量路由.36
2.4.1Istio与可观测性.37
2.4.2Istio与弹性.44
2.4.3Istio与流量路由.46
本章小结.50
3Istio的数据平面:Envoy.51
3.1什么是Envoy代理.51
3.1.1Envoy的核心功能.53
3.1.2Envoy与其他代理的比较.58
3.2配置Envoy.58
3.2.1静态配置.58
3.2.2动态配置.60
3.3Envoy实战.61
3.3.1Envoy的Admin API.65
3.3.2Envoy的请求重试.66
3.4Envoy与Istio的融合.67
本章小结.69
第2部分保护、观察和控制服务网格中的流量
4Istio网关:将流量导入集群.72
4.1流量入口概念.73
4.1.1虚拟IP地址:简化服务访问.73
4.1.2虚拟主机:来自单个接入点的多个服务.75
4.2Istio入口网关.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.4TCP流量.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.2Istio的请求路由.109
5.2.1清理工作空间.109
5.2.2部署catalog服务的v1版本.110
5.2.3部署catalog服务的v2版本.111
5.2.4将所有流量路由到catalog服务的v1版本.112
5.2.5将特定请求路由到v2版本.114
5.2.6在调用链路内部进行路由.115
5.3流量迁移.117
5.4进一步降低风险:流量镜像.125
5.5使用Istio的服务发现路由到集群外部的服务.127
本章小结.131
6弹性:应对应用程序的网络挑战.132
6.1实现应用程序的弹性.132
6.1.1为应用程序库构建弹性能力.133
6.1.2使用Istio解决弹性问题.134
6.1.3实现去中心化的弹性能力.134
6.2客户端负载均衡.135
6.2.1开始使用客户端负载均衡.136
6.2.2构建应用场景.138
6.2.3测试不同的客户端负载均衡策略.139
6.2.4理解负载均衡算法的差异.144
6.3位置感知负载均衡.144
6.3.1位置感知负载均衡实验.145
6.3.2利用加权分布对位置感知负载均衡进行更多的控制.149
6.4透明的超时和重试.152
6.4.1超时.152
6.4.2重试.154
6.4.3高级重试.160
6.5Istio中的熔断.162
6.5.1利用连接池设置防止服务过慢.163
6.5.2利用异常点检测剔除不健康的服务.169
本章小结.172
7可观测性:理解服务的行为.174
7.1什么是可观测性.175
7.1.1可观测性与监控.175
7.1.2Istio如何帮助实现可观测性.176
7.2探索Istio的指标.176
7.2.1数据平面指标.177
7.2.2控制平面指标.182
7.3使用Prometheus抓取Istio指标.184
7.3.1安装Prometheus和Grafana.186
7.3.2配置Prometheus Operator抓取Istio控制平面和工作负载的指标.187
7.4自定义Istio标准指标.190
7.4.1配置现有的指标.193
7.4.2创建新指标.197
7.4.3使用新属性分组调用.199
本章小结.201
8可观测性:使用Grafana、Jaeger和Kiali观察网络行为.202
8.1使用Grafana观察Istio服务和控制平面指标.202
8.1.1安装Istio的Grafana仪表板.203
8.1.2查看控制平面指标.205
8.1.3查看数据平面指标.206
8.2分布式追踪.206
8.2.1分布式追踪是怎么工作的.207
8.2.2安装分布式追踪系统.209
8.2.3配置Istio实现分布式追踪.210
8.2.4查看分布式追踪数据.213
8.2.5追踪采样、强制追踪和自定义标签.214
8.3使用Kiali观察服务网格.220
8.3.1安装Kiali.220
8.3.2结论.225
本章小结.225
9确保微服务通信安全.227
9.1应用程序网络安全需求.227
9.1.1服务间认证.228
9.1.2终端用户认证.228
9.1.3授权.228
9.1.4单体和微服务应用的安全比较.228
9.1.5Istio如何实现SPIFFE.230
9.1.6Istio安全简述.230
9.2自动mTLS.231
9.2.1安装环境.232
9.2.2理解Istio的对等认证.233
9.3授权服务间流量.238
9.3.1了解Istio中的授权.239
9.3.2设置工作区.240
9.3.3当策略被应用于工作负载时行为的变化.241
9.3.4默认使用一个全局策略拒绝所有请求.242
9.3.5允许来自单一命名空间的请求.243
9.3.6允许来自非认证的工作负载的请求.244
9.3.7允许来自单一服务账户的请求.245
9.3.8策略的条件匹配.246
9.3.9了解值匹配表达式.246
9.3.10了解评估授权策略的顺序.248
9.4终端用户的认证和授权.249
9.4.1什么是JWT.249
9.4.2入口网关的终端用户认证和授权.251
9.4.3使用RequestAuthentication验证JWT.252
9.5与自定义的外部授权服务集成.256
9.5.1外部授权实践.257
9.5.2配置ExtAuthz.258
9.5.3使用自定义的AuthorizationPolicy资源.259
本章小结.260
第3部分Istio运维
10数据平面的故障排查.262
10.1最常见错误:数据平面配置错误.263
10.2识别数据平面的问题.265
10.2.1如何验证数据平面是近期新的.265
10.2.2使用Kiali发现配置错误.266
10.2.3通过istioctl发现配置错误.268
10.3从Envoy配置中发现错误.270
10.3.1Envoy管理界面.270
10.3.2使用istioctl查询代理配置.270
10.3.3应用程序的故障排查.276
10.3.4使用ksniff检查网络流量.282
10.4通过Envoy的遥测能力了解应用程序.285
10.4.1在Grafana中查看请求失败率.286
10.4.2使用Prometheus查询受影响的Pod.287
本章小结.288
11控制平面性能优化.290
11.1控制平面的主要目标.290
11.1.1了解数据平面同步的步骤.291
11.1.2决定性能的因素.292
11.2监控控制平面.293
11.3性能调整.298
11.3.1设置工作区.299
11.3.2测量优化前的性能.299
11.3.3忽略事件:使用发现选择器缩小发现的范围.303
11.3.4事件批处理和推送节流特性.305
11.4性能优化准则.308
本章小结.310
第4部分在组织中落地Istio
12在组织中扩展Istio.312
12.1多集群服务网格的好处.312
12.2多集群服务网格概述.313
12.2.1Istio多集群部署模型.314
12.2.2在多集群部署中如何发现工作负载.316
12.2.3跨集群的工作负载连接.317
12.2.4集群间互信.318
12.3多集群、多网络、多控制平面的服务网格.319
12.3.1选择多集群部署模型.320
12.3.2建立云基础设施.320
12.3.3配置插件式CA证书.321
12.3.4在每个集群中安装控制平面.322
12.3.5启用跨集群的工作负载发现.325
12.3.6设置跨集群连接.327
12.3.7跨集群的负载均衡.334
本章小结.339
13将虚拟机工作负载纳入网格.340
13.1Istio的虚拟机支持.341
13.1.1简化虚拟机中sidecar代理的安装与配置.341
13.1.2虚拟机的高可用性.343
13.1.3网格内服务的DNS解析.346
13.2设置基础设施.348
13.2.1设置服务网格.349
13.2.2配置虚拟机.350
13.3将网格扩展到虚拟机.352
13.3.1向虚拟机暴露istiod和集群服务.352
13.3.2使用WorkloadGroup表示一个工作负载组.353
13.3.3在虚拟机中安装与配置istio-agent.356
13.3.4将流量路由到集群服务.359
13.3.5将流量路由到WorkloadEntry.360
13.3.6虚拟机是由控制平面配置的:强制执行双向认证.363
13.4揭开DNS代理的神秘面纱.364
13.4.1DNS代理如何解析集群内主机名.364
13.4.2DNS代理知道哪些主机名.366
13.5自定义代理的行为.367
13.6将WorkloadEntry从网格中删除.368
本章小结.369
14在请求路径上扩展Istio.370
14.1Envoy的扩展能力.371
14.1.1了解Envoy的过滤器链.371
14.1.2用于扩展的过滤器.374
14.1.3定制Istio的数据平面.374
14.2使用EnvoyFilter资源配置Envoy过滤器.374
14.3调用外部的限流请求.379
14.4使用Lua扩展Istio的数据平面.384
14.5使用WebAssembly扩展Istio的数据平面.387
14.5.1WebAssembly简介.387
14.5.2为什么使用WebAssembly.388
14.5.3使用WebAssembly构建新的Envoy过滤器.389
14.5.4使用meshctl工具构建新的Envoy过滤器.389
14.5.5部署新的WebAssembly Envoy过滤器.391
本章小结.393
A自定义Istio安装.394
BIstio的sidecar及其注入选项.401
CIstio安全——SPIFFE.407
DIstio故障排查.417
E如何配置虚拟机接入网格.425

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网