Istio權(quán)威指南(上):云原生服務(wù)網(wǎng)格Istio原理與實踐
定 價:138 元
叢書名:華為云原生技術(shù)叢書
- 作者:張超盟 等
- 出版時間:2023/4/1
- ISBN:9787121448089
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5-62
- 頁碼:512
- 紙張:
- 版次:01
- 開本:16開
本書是《Istio權(quán)威指南》的上冊,重點講解Istio的原理和實踐,分為原理篇和實踐篇。 原理篇介紹Istio的相關(guān)概念、主要架構(gòu)和工作原理。其中,第1章通過介紹Istio與微服務(wù)、服務(wù)網(wǎng)格、Kubernetes這幾個云原生關(guān)鍵技術(shù)的聯(lián)系,幫助讀者立體地理解Istio的概念。第2章概述Istio的工作機制、服務(wù)模型、總體架構(gòu)和主要組件。第3、4、5章通過較大篇幅介紹Istio提供的非侵入性流量治理、可觀測性和策略控制、服務(wù)安全這三大核心特性,包括其各自解決的問題、實現(xiàn)原理、配置模型、配置定義和典型應(yīng)用,可以滿足大多數(shù)讀者在工作中的具體需求。第6章重點介紹自動注入和流量攔截的透明代理原理;第7章介紹Istio正在快速發(fā)展的多基礎(chǔ)設(shè)施流量管理,包括對各種多集群模型、容器、虛擬機的統(tǒng)一管理等。 實踐篇通過貫穿全書的一個天氣預(yù)報應(yīng)用來實踐Istio的非侵入能力。其中,第8章介紹如何從零開始搭建環(huán)境。第9章通過Istio的非侵入方式生成指標、拓撲、調(diào)用鏈和訪問日志等;第10章介紹多種灰度分流方式,帶讀者了解Istio靈活的分流策略;第11章描述負載均衡、故障轉(zhuǎn)移、故障注入、超時、重試、重定向、重寫、熔斷、異常點檢查、限流等流量策略的實踐;第12章講解兩種認證策略及其與授權(quán)的配合,以及Istio倡導(dǎo)的零信任網(wǎng)絡(luò)的關(guān)鍵技術(shù);第13章講解入口網(wǎng)關(guān)和出口網(wǎng)關(guān)的流量管理,展示服務(wù)網(wǎng)格對東西向流量和南北向流量的管理;第14章則是對多集群和虛擬機環(huán)境下流量治理的實踐。 本書適合入門級讀者從零開始了解Istio的概念、原理和用法,也適合有一定基礎(chǔ)的讀者深入了解Istio的設(shè)計理念。
張超盟華為云應(yīng)用服務(wù)網(wǎng)格首席架構(gòu)師,擁有10年以上軟件研發(fā)經(jīng)驗,先后負責華為云PaaS容器應(yīng)用運維、微服務(wù)平臺、云服務(wù)目錄、服務(wù)網(wǎng)格等產(chǎn)品架構(gòu)設(shè)計與開發(fā)工作,在容器服務(wù)、微服務(wù)架構(gòu)、大數(shù)據(jù)、應(yīng)用性能管理、數(shù)據(jù)庫中間件及DevOps工具等多個領(lǐng)域有深入的研究與實踐。開源愛好者,Istio社區(qū)成員。曾就職于Trend Micro和中鐵一局。徐中虎華為云原生開源團隊核心成員,Istio社區(qū)Approver,Kubernetes項目核心貢獻者,現(xiàn) 聚 焦 于Cloud Native、Docker、Kubernetes、Service Mesh等領(lǐng)域,對分布式系統(tǒng)性能優(yōu)化、高可靠、可擴展等有深入的研究。曾就職于網(wǎng)易、Nokia。張偉,冷月 華為云原生開源團隊核心成員。
目 錄
原 理 篇
第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ù)問題 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ù)實例 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 負載均衡 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 入門示例 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ī)則對比 92
3.2.8 VirtualService的典型應(yīng)用 93
3.3 DestinationRule(目標規(guī)則) 101
3.3.1 入門示例 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 入門示例 121
3.4.2 配置模型 122
3.4.3 配置定義 123
3.4.4 典型應(yīng)用 127
3.5 ServiceEntry(服務(wù)條目) 139
3.5.1 入門示例 139
3.5.2 配置模型 140
3.5.3 配置定義 140
3.5.4 典型應(yīng)用 146
3.6 WorkloadEntry(工作負載) 150
3.6.1 入門示例 150
3.6.2 配置模型 150
3.6.3 配置定義 151
3.6.4 典型應(yīng)用 152
3.7 WorkloadGroup(工作負載組) 154
3.7.1 入門示例 154
3.7.2 配置模型 155
3.7.3 配置定義 156
3.7.4 典型應(yīng)用 156
3.8 Sidecar(網(wǎng)格代理) 157
3.8.1 入門示例 157
3.8.2 配置模型 158
3.8.3 配置定義 158
3.8.4 典型應(yīng)用 161
3.9 EnvoyFilter(Envoy過濾器) 163
3.9.1 入門示例 164
3.9.2 配置模型 164
3.9.3 配置定義 165
3.9.4 典型應(yīng)用 177
3.10 WasmPlugin(Wasm插件) 183
3.10.1 入門示例 183
3.10.2 配置模型 184
3.10.3 配置定義 184
3.10.4 典型應(yīng)用 185
3.10 本章小結(jié) 186
第4章 可觀測性和策略控制的原理 188
4.1 概念和原理 188
4.1.1 可觀測性的概念 188
4.1.2 訪問指標 194
4.1.3 調(diào)用鏈 198
4.1.4 訪問日志 201
4.1.5 限流 204
4.2 Istio訪問指標采集 207
4.2.1 指標采集的原理 207
4.2.2 指標采集的配置 210
4.3 Istio調(diào)用鏈采集 218
4.3.1 調(diào)用鏈采集的原理 218
4.3.2 調(diào)用鏈采集的配置 220
4.4 Istio訪問日志采集 226
4.4.1 訪問日志采集的原理 226
4.4.2 訪問日志采集的配置 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 對等身份認證 257
5.1.2 服務(wù)請求認證 263
5.1.3 服務(wù)訪問授權(quán) 268
5.2 PeerAuthentication(對等身份認證) 273
5.2.1 入門示例 273
5.2.2 配置模型 274
5.2.3 配置定義 274
5.2.4 典型應(yīng)用 275
5.3 RequestAuthentication(服務(wù)請求認證) 278
5.3.1 入門示例 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 入門示例 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 自動注入服務(wù) 297
6.1.3 自動注入流程 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 治理純虛擬機服務(wù) 354
7.4.2 治理混合服務(wù) 355
7.5 本章小結(jié) 356
實 踐 篇
第8章 環(huá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簡介 362
8.3.2 部署Weather Forecast 363
8.4 本章小結(jié) 364
第9章 應(yīng)用監(jiān)控實踐 365
9.1 預(yù)先準備 365
9.2 調(diào)用鏈跟蹤 366
9.3 指標監(jiān)控 368
9.3.1 指標配置 369
9.3.2 指標采集:Prometheus 372
9.3.3 指標管理:Grafana 374
9.4 服務(wù)網(wǎng)格應(yīng)用拓撲 379
9.5 訪問日志 383
9.6 本章小結(jié) 384
第10章 灰度發(fā)布實踐 385
10.1 預(yù)先準備 385
10.2 基于流量比例的路由 386
10.3 基于請求內(nèi)容的路由 389
10.4 組合條件路由 391
10.5 多服務(wù)灰度發(fā)布 393
10.6 本章小結(jié) 395
第11章 流量治理實踐 396
11.1 ROUND_ROBIN負載均衡 396
11.2 RANDOM負載均衡 397
11.3 地域負載均衡 399
11.3.1 基于權(quán)重的地域負載均衡 399
11.3.2 用于故障轉(zhuǎn)移的地域負載均衡 402
11.4 會話保持 407
11.5 故障注入 409
11.5.1 延遲注入 409
11.5.2 中斷注入 410
11.6 超時 412
11.7 重試 413
11.8 HTTP重定向 415
11.9 HTTP重寫 417
11.10 熔斷與連接池 418
11.11 熔斷異常點檢測 420
11.12 限流 423
11.12.1 全局限流 423
11.12.2 本地限流 427
11.13 服務(wù)隔離 430
11.14 影子測試 432
11.15 本章小結(jié) 434
第12章 服務(wù)安全實踐 435
12.1 雙向認證 435
12.2 JWT認證 438
12.3 特定命名空間的訪問授權(quán) 441
12.4 特定源地址的授權(quán) 443
12.5 本章小結(jié) 445
第13章 網(wǎng)關(guān)流量實踐 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ǎng)格外部服務(wù) 453
13.5 出口網(wǎng)關(guān) 455
13.6 本章小結(jié) 457
第14章 異構(gòu)基礎(chǔ)設(shè)施實踐 458
14.1 多集群灰度發(fā)布 458
14.2 多集群非扁平網(wǎng)絡(luò)負載均衡 462
14.3 多集群非扁平網(wǎng)絡(luò)故障轉(zhuǎn)移 465
14.4 虛擬機應(yīng)用管理 470
14.5 本章小結(jié) 473