Istio權(quán)威指南(上):云原生服務(wù)網(wǎng)格Istio原理與實(shí)踐
定 價(jià):138 元
叢書(shū)名:華為云原生技術(shù)叢書(shū)
- 作者:張超盟 等
- 出版時(shí)間:2023/4/1
- ISBN:9787121448089
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5-62
- 頁(yè)碼:512
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)是《Istio權(quán)威指南》的上冊(cè),重點(diǎn)講解Istio的原理和實(shí)踐,分為原理篇和實(shí)踐篇。 原理篇介紹Istio的相關(guān)概念、主要架構(gòu)和工作原理。其中,第1章通過(guò)介紹Istio與微服務(wù)、服務(wù)網(wǎng)格、Kubernetes這幾個(gè)云原生關(guān)鍵技術(shù)的聯(lián)系,幫助讀者立體地理解Istio的概念。第2章概述Istio的工作機(jī)制、服務(wù)模型、總體架構(gòu)和主要組件。第3、4、5章通過(guò)較大篇幅介紹Istio提供的非侵入性流量治理、可觀測(cè)性和策略控制、服務(wù)安全這三大核心特性,包括其各自解決的問(wèn)題、實(shí)現(xiàn)原理、配置模型、配置定義和典型應(yīng)用,可以滿足大多數(shù)讀者在工作中的具體需求。第6章重點(diǎn)介紹自動(dòng)注入和流量攔截的透明代理原理;第7章介紹Istio正在快速發(fā)展的多基礎(chǔ)設(shè)施流量管理,包括對(duì)各種多集群模型、容器、虛擬機(jī)的統(tǒng)一管理等。 實(shí)踐篇通過(guò)貫穿全書(shū)的一個(gè)天氣預(yù)報(bào)應(yīng)用來(lái)實(shí)踐Istio的非侵入能力。其中,第8章介紹如何從零開(kāi)始搭建環(huán)境。第9章通過(guò)Istio的非侵入方式生成指標(biāo)、拓?fù)、調(diào)用鏈和訪問(wèn)日志等;第10章介紹多種灰度分流方式,帶讀者了解Istio靈活的分流策略;第11章描述負(fù)載均衡、故障轉(zhuǎn)移、故障注入、超時(shí)、重試、重定向、重寫(xiě)、熔斷、異常點(diǎn)檢查、限流等流量策略的實(shí)踐;第12章講解兩種認(rèn)證策略及其與授權(quán)的配合,以及Istio倡導(dǎo)的零信任網(wǎng)絡(luò)的關(guān)鍵技術(shù);第13章講解入口網(wǎng)關(guān)和出口網(wǎng)關(guān)的流量管理,展示服務(wù)網(wǎng)格對(duì)東西向流量和南北向流量的管理;第14章則是對(duì)多集群和虛擬機(jī)環(huán)境下流量治理的實(shí)踐。 本書(shū)適合入門(mén)級(jí)讀者從零開(kāi)始了解Istio的概念、原理和用法,也適合有一定基礎(chǔ)的讀者深入了解Istio的設(shè)計(jì)理念。
張超盟華為云應(yīng)用服務(wù)網(wǎng)格首席架構(gòu)師,擁有10年以上軟件研發(fā)經(jīng)驗(yàn),先后負(fù)責(zé)華為云PaaS容器應(yīng)用運(yùn)維、微服務(wù)平臺(tái)、云服務(wù)目錄、服務(wù)網(wǎng)格等產(chǎn)品架構(gòu)設(shè)計(jì)與開(kāi)發(fā)工作,在容器服務(wù)、微服務(wù)架構(gòu)、大數(shù)據(jù)、應(yīng)用性能管理、數(shù)據(jù)庫(kù)中間件及DevOps工具等多個(gè)領(lǐng)域有深入的研究與實(shí)踐。開(kāi)源愛(ài)好者,Istio社區(qū)成員。曾就職于Trend Micro和中鐵一局。徐中虎華為云原生開(kāi)源團(tuán)隊(duì)核心成員,Istio社區(qū)Approver,Kubernetes項(xiàng)目核心貢獻(xiàn)者,現(xiàn) 聚 焦 于Cloud Native、Docker、Kubernetes、Service Mesh等領(lǐng)域,對(duì)分布式系統(tǒng)性能優(yōu)化、高可靠、可擴(kuò)展等有深入的研究。曾就職于網(wǎng)易、Nokia。張偉,冷月 華為云原生開(kāi)源團(tuán)隊(duì)核心成員。
目 錄
原 理 篇
第1章 你好,Istio 2
1.1 Istio是什么 2
1.2 Istio能做什么 3
1.3 Istio與服務(wù)治理 5
1.3.1 關(guān)于微服務(wù) 5
1.3.2 服務(wù)治理的形態(tài) 7
1.3.3 Istio不只解決微服務(wù)問(wèn)題 9
1.4 Istio與服務(wù)網(wǎng)格 11
1.4.1 云原生選擇服務(wù)網(wǎng)格 11
1.4.2 服務(wù)網(wǎng)格選擇Istio 14
1.5 Istio與Kubernetes 17
1.5.1 Istio,Kubernetes的好幫手 18
1.5.2 Kubernetes,Istio的好基座 20
1.6 本章小結(jié) 23
第2章 Istio的架構(gòu)概述 25
2.1 Istio的架構(gòu)及原理 25
2.2 Istio的服務(wù)模型 28
2.2.1 Istio的服務(wù) 29
2.2.2 Istio的服務(wù)版本 30
2.2.3 Istio的服務(wù)實(shí)例 32
2.3 Istio的主要組件 34
2.3.1 控制面的組件 34
2.3.2 數(shù)據(jù)面的組件 38
2.3.3 其他組件 42
2.4 本章小結(jié) 43
第3章 流量治理的原理 44
3.1 概念和原理 44
3.1.1 負(fù)載均衡 46
3.1.2 服務(wù)熔斷 48
3.1.3 故障注入 54
3.1.4 灰度發(fā)布 55
3.1.5 故障轉(zhuǎn)移 60
3.1.6 入口流量 63
3.1.7 出口流量 68
3.2 VirtualService(虛擬服務(wù)) 71
3.2.1 入門(mén)示例 71
3.2.2 配置模型 72
3.2.3 配置定義 73
3.2.4 HTTPRoute(HTTP路由) 75
3.2.5 TLSRoute(TLS路由) 89
3.2.6 TCPRoute(TCP路由) 91
3.2.7 三種協(xié)議的路由規(guī)則對(duì)比 92
3.2.8 VirtualService的典型應(yīng)用 93
3.3 DestinationRule(目標(biāo)規(guī)則) 101
3.3.1 入門(mén)示例 101
3.3.2 配置模型 101
3.3.3 配置定義 103
3.3.4 典型應(yīng)用 116
3.4 Gateway(服務(wù)網(wǎng)關(guān)) 121
3.4.1 入門(mén)示例 121
3.4.2 配置模型 122
3.4.3 配置定義 123
3.4.4 典型應(yīng)用 127
3.5 ServiceEntry(服務(wù)條目) 139
3.5.1 入門(mén)示例 139
3.5.2 配置模型 140
3.5.3 配置定義 140
3.5.4 典型應(yīng)用 146
3.6 WorkloadEntry(工作負(fù)載) 150
3.6.1 入門(mén)示例 150
3.6.2 配置模型 150
3.6.3 配置定義 151
3.6.4 典型應(yīng)用 152
3.7 WorkloadGroup(工作負(fù)載組) 154
3.7.1 入門(mén)示例 154
3.7.2 配置模型 155
3.7.3 配置定義 156
3.7.4 典型應(yīng)用 156
3.8 Sidecar(網(wǎng)格代理) 157
3.8.1 入門(mén)示例 157
3.8.2 配置模型 158
3.8.3 配置定義 158
3.8.4 典型應(yīng)用 161
3.9 EnvoyFilter(Envoy過(guò)濾器) 163
3.9.1 入門(mén)示例 164
3.9.2 配置模型 164
3.9.3 配置定義 165
3.9.4 典型應(yīng)用 177
3.10 WasmPlugin(Wasm插件) 183
3.10.1 入門(mén)示例 183
3.10.2 配置模型 184
3.10.3 配置定義 184
3.10.4 典型應(yīng)用 185
3.10 本章小結(jié) 186
第4章 可觀測(cè)性和策略控制的原理 188
4.1 概念和原理 188
4.1.1 可觀測(cè)性的概念 188
4.1.2 訪問(wèn)指標(biāo) 194
4.1.3 調(diào)用鏈 198
4.1.4 訪問(wèn)日志 201
4.1.5 限流 204
4.2 Istio訪問(wèn)指標(biāo)采集 207
4.2.1 指標(biāo)采集的原理 207
4.2.2 指標(biāo)采集的配置 210
4.3 Istio調(diào)用鏈采集 218
4.3.1 調(diào)用鏈采集的原理 218
4.3.2 調(diào)用鏈采集的配置 220
4.4 Istio訪問(wèn)日志采集 226
4.4.1 訪問(wèn)日志采集的原理 226
4.4.2 訪問(wèn)日志采集的配置 228
4.5 Istio限流 236
4.5.1 限流的原理 236
4.5.2 限流的配置 238
4.6 元數(shù)據(jù)交換 248
4.6.1 元數(shù)據(jù)交換的原理 249
4.6.2 元數(shù)據(jù)交換的配置 250
4.7 本章小結(jié) 252
第5章 服務(wù)安全的原理 255
5.1 概念和原理 255
5.1.1 對(duì)等身份認(rèn)證 257
5.1.2 服務(wù)請(qǐng)求認(rèn)證 263
5.1.3 服務(wù)訪問(wèn)授權(quán) 268
5.2 PeerAuthentication(對(duì)等身份認(rèn)證) 273
5.2.1 入門(mén)示例 273
5.2.2 配置模型 274
5.2.3 配置定義 274
5.2.4 典型應(yīng)用 275
5.3 RequestAuthentication(服務(wù)請(qǐng)求認(rèn)證) 278
5.3.1 入門(mén)示例 278
5.3.2 配置模型 279
5.3.3 配置定義 279
5.3.4 典型應(yīng)用 281
5.4 AuthorizationPolicy(服務(wù)授權(quán)策略) 283
5.4.1 入門(mén)示例 283
5.4.2 配置模型 284
5.4.3 配置定義 284
5.4.4 典型應(yīng)用 289
5.5 本章小結(jié) 294
第6章 網(wǎng)格數(shù)據(jù)面代理Sidecar 295
6.1 Sidecar的透明注入原理 295
6.1.1 Sidecar的注入原理 295
6.1.2 自動(dòng)注入服務(wù) 297
6.1.3 自動(dòng)注入流程 299
6.2 Sidecar的流量攔截原理 302
6.2.1 iptables的基本原理 303
6.2.2 Sidecar Redirect模式 309
6.2.3 Sidecar Tproxy模式 318
6.2.4 Ingress網(wǎng)關(guān)模式 331
6.3 本章小結(jié) 335
第7章 異構(gòu)基礎(chǔ)設(shè)施 336
7.1 多集群服務(wù)治理的原理 336
7.1.1 Istio多集群相關(guān)的概念 336
7.1.2 Istio多集群管理 337
7.2 多集群的服務(wù)網(wǎng)格模型 338
7.2.1 扁平網(wǎng)絡(luò)單控制面模型 338
7.2.2 非扁平網(wǎng)絡(luò)單控制面模型 340
7.2.3 扁平網(wǎng)絡(luò)多控制面模型 345
7.2.4 非扁平網(wǎng)絡(luò)多控制面模型 347
7.3 多集群的關(guān)鍵技術(shù) 348
7.3.1 異構(gòu)環(huán)境DNS 348
7.3.2 東西向網(wǎng)關(guān) 352
7.4 異構(gòu)服務(wù)治理的原理 353
7.4.1 治理純虛擬機(jī)服務(wù) 354
7.4.2 治理混合服務(wù) 355
7.5 本章小結(jié) 356
實(shí) 踐 篇
第8章 環(huán)境準(zhǔn)備 358
8.1 在本地搭建Istio環(huán)境 358
8.1.1 部署Kubernetes集群 358
8.1.2 安裝Istio 359
8.2 嘗鮮Istio命令行 361
8.3 應(yīng)用示例 362
8.3.1 Weather Forecast簡(jiǎn)介 362
8.3.2 部署Weather Forecast 363
8.4 本章小結(jié) 364
第9章 應(yīng)用監(jiān)控實(shí)踐 365
9.1 預(yù)先準(zhǔn)備 365
9.2 調(diào)用鏈跟蹤 366
9.3 指標(biāo)監(jiān)控 368
9.3.1 指標(biāo)配置 369
9.3.2 指標(biāo)采集:Prometheus 372
9.3.3 指標(biāo)管理:Grafana 374
9.4 服務(wù)網(wǎng)格應(yīng)用拓?fù)?379
9.5 訪問(wèn)日志 383
9.6 本章小結(jié) 384
第10章 灰度發(fā)布實(shí)踐 385
10.1 預(yù)先準(zhǔn)備 385
10.2 基于流量比例的路由 386
10.3 基于請(qǐng)求內(nèi)容的路由 389
10.4 組合條件路由 391
10.5 多服務(wù)灰度發(fā)布 393
10.6 本章小結(jié) 395
第11章 流量治理實(shí)踐 396
11.1 ROUND_ROBIN負(fù)載均衡 396
11.2 RANDOM負(fù)載均衡 397
11.3 地域負(fù)載均衡 399
11.3.1 基于權(quán)重的地域負(fù)載均衡 399
11.3.2 用于故障轉(zhuǎn)移的地域負(fù)載均衡 402
11.4 會(huì)話保持 407
11.5 故障注入 409
11.5.1 延遲注入 409
11.5.2 中斷注入 410
11.6 超時(shí) 412
11.7 重試 413
11.8 HTTP重定向 415
11.9 HTTP重寫(xiě) 417
11.10 熔斷與連接池 418
11.11 熔斷異常點(diǎn)檢測(cè) 420
11.12 限流 423
11.12.1 全局限流 423
11.12.2 本地限流 427
11.13 服務(wù)隔離 430
11.14 影子測(cè)試 432
11.15 本章小結(jié) 434
第12章 服務(wù)安全實(shí)踐 435
12.1 雙向認(rèn)證 435
12.2 JWT認(rèn)證 438
12.3 特定命名空間的訪問(wèn)授權(quán) 441
12.4 特定源地址的授權(quán) 443
12.5 本章小結(jié) 445
第13章 網(wǎng)關(guān)流量實(shí)踐 446
13.1 入口網(wǎng)關(guān) 446
13.2 單向TLS網(wǎng)關(guān) 448
13.3 雙向TLS網(wǎng)關(guān) 451
13.4 訪問(wèn)網(wǎng)格外部服務(wù) 453
13.5 出口網(wǎng)關(guān) 455
13.6 本章小結(jié) 457
第14章 異構(gòu)基礎(chǔ)設(shè)施實(shí)踐 458
14.1 多集群灰度發(fā)布 458
14.2 多集群非扁平網(wǎng)絡(luò)負(fù)載均衡 462
14.3 多集群非扁平網(wǎng)絡(luò)故障轉(zhuǎn)移 465
14.4 虛擬機(jī)應(yīng)用管理 470
14.5 本章小結(jié) 473