注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信云原生服務(wù)網(wǎng)格Istio:原理、實踐、架構(gòu)與源碼解析

云原生服務(wù)網(wǎng)格Istio:原理、實踐、架構(gòu)與源碼解析

云原生服務(wù)網(wǎng)格Istio:原理、實踐、架構(gòu)與源碼解析

定 價:¥139.00

作 者: 張超盟,章鑫,徐中虎,徐飛 編
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121366536 出版時間: 2019-07-01 包裝: 平裝
開本: 16開 頁數(shù): 628 字?jǐn)?shù):  

內(nèi)容簡介

  《云原生服務(wù)網(wǎng)格Istio:原理、實踐、架構(gòu)與源碼解析》分為原理篇、實踐篇、架構(gòu)篇和源碼篇,由淺入深地將Istio項目庖丁解牛并呈現(xiàn)給讀者。原理篇介紹了服務(wù)網(wǎng)格技術(shù)與Istio項目的技術(shù)背景、設(shè)計理念與功能原理,能夠幫助讀者了解服務(wù)網(wǎng)格這一云原生領(lǐng)域的標(biāo)志性技術(shù),掌握Istio流量治理、策略與遙測和安全功能的使用方法。實踐篇從零開始搭建Istio運行環(huán)境并完成一個真實應(yīng)用的開發(fā)、交付、上線監(jiān)控與治理的完整過程,能夠幫助讀者熟悉Istio的功能并加深對Istio的理解。架構(gòu)篇剖析了Istio項目的三大核心子項目Pilot、Mixer、Citadel的詳細(xì)架構(gòu),幫助讀者熟悉Envoy、Galley、Pilot-agent等相關(guān)項目,并挖掘Istio代碼背后的設(shè)計與實現(xiàn)思想。源碼篇對Istio各個項目的代碼結(jié)構(gòu)、文件組織、核心流程、主要數(shù)據(jù)結(jié)構(gòu)及各主要代碼片段等關(guān)鍵內(nèi)容都進(jìn)行了詳細(xì)介紹,讀者只需具備一定的Go語言基礎(chǔ),便可快速掌握Istio各部分的實現(xiàn)原理,并根據(jù)自己的興趣深入了解某一關(guān)鍵機制的完整實現(xiàn)。本書提供源碼下載,參見http://github.com/cloudnativebooks/cloud-native-istio。 無論是對于剛?cè)腴TIstio的讀者,還是對于已經(jīng)在產(chǎn)品中使用Istio的讀者,本書都極具參考價值。

作者簡介

  張超盟 華為云應(yīng)用服務(wù)網(wǎng)格首席架構(gòu)師,擁有10年以上軟件研發(fā)經(jīng)驗,先后負(fù)責(zé)華為云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和中鐵一局。 章鑫 華為云應(yīng)用服務(wù)網(wǎng)格首席系統(tǒng)工程師, 擁有10年以上IT從業(yè)經(jīng)驗,先后參與華為云PaaS運維平臺、容器自動化運維工 具、服務(wù)網(wǎng)格等產(chǎn)品設(shè)計與開發(fā),主導(dǎo)了多個服務(wù)網(wǎng)格項目的落地與實施工作。Istio社區(qū)成員,對于Pilot、Mixer等多個組 件 的 調(diào) 優(yōu) 有 豐 富 的 經(jīng) 驗。曾 在VIA-Telecom和Nokia擔(dān)任研發(fā)專家。 徐中虎 華為云原生開源團(tuán)隊核心成員,Istio社區(qū)Approver,Kubernetes項目核心貢獻(xiàn)者,現(xiàn) 聚 焦 于Cloud Native、Docker、Kubernetes、Service Mesh等領(lǐng)域,對分布式系統(tǒng)性能優(yōu)化、高可靠、可擴展等有深入的研究。曾就職于網(wǎng)易、Nokia。 徐飛 華為云原生開源團(tuán)隊核心成員,Istio社區(qū)Approver,Kubernetes、Federation、Kubeflow、Virtual-Kubelet社區(qū)項目成員及核心貢獻(xiàn)者,浙江大學(xué)碩士。從2015年開始參與容器平臺的設(shè)計與開發(fā),并參與上游社區(qū)的貢獻(xiàn)。 華為云原生團(tuán)隊 華為云原生團(tuán)隊創(chuàng)建于2013年,是國內(nèi)較早參與云原生這一技術(shù)領(lǐng)域的團(tuán)隊之一。作為CNCF(云原生計算基金會)的初創(chuàng)成員和白金會員,華為在容器、服務(wù)網(wǎng)格、微服務(wù)等云原生技術(shù)領(lǐng)域都有著深厚的造詣,擁有10多名CNCF開源項目維護(hù)者,在Kubernetes、Istio等核心開源項目上的貢獻(xiàn)位居全球前列。華為云也提供了基于CNCF開源項目所打造的商業(yè)化云原生系列產(chǎn)品,包括云容器引擎、云容器實例、應(yīng)用服務(wù)網(wǎng)格、容器交付流水線等。 華為云原生團(tuán)隊致力于云原生技術(shù)在國內(nèi)的普及與推廣,通過“容器魔方”官方微信公眾號,以及與CNCF聯(lián)合打造的Cloud Native Days China(CNDC)Meetup、Cloud Native Lives云原生技術(shù)在線直播、線下CKA培訓(xùn)等活動,推動了國內(nèi)云原生技術(shù)的學(xué)習(xí)與交流熱潮。此次打造的華為云原生技術(shù)叢書,內(nèi)容涵蓋以CNCF項目為主的多個云原生技術(shù)熱點,可為廣大云原生技術(shù)愛好者提供詳盡、專業(yè)、及時的原理講解與技術(shù)剖析。

圖書目錄

原 理 篇
第1章 你好,Istio 2
1.1 Istio是什么 2
1.2 通過示例看看Istio能做什么 4
1.3 Istio與服務(wù)治理 6
1.3.1 關(guān)于微服務(wù) 6
1.3.2 服務(wù)治理的三種形態(tài) 8
1.3.3 Istio不只解決了微服務(wù)問題 10
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 15
1.5.1 Istio,Kubernetes的好幫手 16
1.5.2 Kubernetes,Istio的好基座 18
1.6 本章總結(jié) 20
第2章 Istio架構(gòu)概述 21
2.1 Istio的工作機制 21
2.2 Istio的服務(wù)模型 23
2.2.1 Istio的服務(wù) 24
2.2.2 Istio的服務(wù)版本 26
2.2.3 Istio的服務(wù)實例 28
2.3 Istio的主要組件 30
2.3.1 istio-pilot 30
2.3.2 istio-telemetry 32
2.3.3 istio-policy 33
2.3.4 istio-citadel 34
2.3.5 istio-galley 34
2.3.6 istio-sidecar-injector 35
2.3.7 istio-proxy 35
2.3.8 istio-ingressgateway 36
2.3.9 其他組件 37
2.4 本章總結(jié) 37
第3章 非侵入的流量治理 38
3.1 Istio流量治理的原理 38
3.1.1 負(fù)載均衡 39
3.1.2 服務(wù)熔斷 41
3.1.3 故障注入 48
3.1.4 灰度發(fā)布 49
3.1.5 服務(wù)訪問入口 54
3.1.6 外部接入服務(wù)治理 56
3.2 Istio路由規(guī)則配置:VirtualService 59
3.2.1 路由規(guī)則配置示例 59
3.2.2 路由規(guī)則定義 60
3.2.3 HTTP路由(HTTPRoute) 63
3.2.4 TLS路由(TLSRoute) 78
3.2.5 TCP路由(TCPRoute) 81
3.2.6 三種協(xié)議路由規(guī)則的對比 83
3.2.7 VirtualService的典型應(yīng)用 84
3.3 Istio目標(biāo)規(guī)則配置:DestinationRule 89
3.3.1 DestinationRule配置示例 90
3.3.2 DestinationRule規(guī)則定義 90
3.3.3 DestinationRule的典型應(yīng)用 103
3.4 Istio服務(wù)網(wǎng)關(guān)配置:Gateway 107
3.4.1 Gateway配置示例 108
3.4.2 Gateway規(guī)則定義 109
3.4.3 Gateway的典型應(yīng)用 112
3.5 Istio外部服務(wù)配置:ServiceEntry 120
3.5.1 ServiceEntry配置示例 120
3.5.2 ServiceEntry規(guī)則的定義和用法 121
3.5.3 ServiceEntry的典型應(yīng)用 123
3.6 Istio代理規(guī)則配置:Sidecar 126
3.6.1 Sidecar配置示例 126
3.6.2 Sidecar規(guī)則定義 126
3.7 本章總結(jié) 129
第4章 可擴展的策略和遙測 131
4.1 Istio策略和遙測的原理 131
4.1.1 應(yīng)用場景 131
4.1.2 工作原理 136
4.1.3 屬性 137
4.1.4 Mixer的配置模型 140
4.2 Istio遙測適配器配置 147
4.2.1 Prometheus適配器 148
4.2.2 Fluentd適配器 155
4.2.3 StatsD適配器 159
4.2.4 Stdio適配器 161
4.2.5 Zipkin適配器 163
4.2.6 廠商適配器 168
4.3 Istio策略適配器配置 169
4.3.1 List適配器 169
4.3.2 Denier適配器 171
4.3.3 Memory Quota適配器 172
4.3.4 Redis Quota適配器 175
4.4 Kubernetes Env適配器配置 178
4.5 本章總結(jié) 181
第5章 可插拔的服務(wù)安全 182
5.1 Istio服務(wù)安全的原理 182
5.1.1 認(rèn)證 185
5.1.2 授權(quán) 189
5.1.3 密鑰證書管理 192
5.2 Istio服務(wù)認(rèn)證配置 193
5.2.1 認(rèn)證策略配置示例 193
5.2.2 認(rèn)證策略的定義 194
5.2.3 TLS訪問配置 196
5.2.4 認(rèn)證策略的典型應(yīng)用 200
5.3 Istio服務(wù)授權(quán)配置 202
5.3.1 授權(quán)啟用配置 202
5.3.2 授權(quán)策略配置 203
5.3.3 授權(quán)策略的典型應(yīng)用 207
5.4 本章總結(jié) 210
第6章 透明的Sidecar機制 211
6.1 Sidecar注入 211
6.1.1 Sidecar Injector自動注入的原理 214
6.1.2 Sidecar注入的實現(xiàn) 216
6.2 Sidecar流量攔截 219
6.2.1 iptables的基本原理 220
6.2.2 iptables的規(guī)則設(shè)置 223
6.2.3 流量攔截原理 224
6.3 本章總結(jié) 228
第7章 多集群服務(wù)治理 230
7.1 Istio多集群服務(wù)治理 230
7.1.1 Istio多集群的相關(guān)概念 230
7.1.2 Istio多集群服務(wù)治理現(xiàn)狀 231
7.2 多集群模式1:多控制面 232
7.2.1 服務(wù)DNS解析的原理 233
7.2.2 Gateway連接的原理 237
7.3 多集群模式2:VPN直連單控制面 238
7.4 多集群模式3:集群感知服務(wù)路由單控制面 240
7.5 本章總結(jié) 246

實 踐 篇
第8章 環(huán)境準(zhǔn)備 248
8.1 在本地搭建Istio環(huán)境 248
8.1.1 安裝Kubernetes集群 248
8.1.2 安裝Helm 249
8.1.3 安裝Istio 250
8.2 在公有云上使用Istio 253
8.3 嘗鮮Istio命令行 255
8.4 應(yīng)用示例 257
8.4.1 Weather Forecast簡介 257
8.4.2 Weather Forecast部署 258
8.5 本章總結(jié) 259
第9章 流量監(jiān)控 260
9.1 預(yù)先準(zhǔn)備:安裝插件 260
9.2 調(diào)用鏈跟蹤 261
9.3 指標(biāo)監(jiān)控 265
9.3.1 Prometheus 265
9.3.2 Grafana 268
9.4 服務(wù)網(wǎng)格監(jiān)控 273
9.5 本章總結(jié) 277
第10章 灰度發(fā)布 278
10.1 預(yù)先準(zhǔn)備:將所有流量都路由到各個服務(wù)的v1版本 278
10.2 基于流量比例的路由 279
10.3 基于請求內(nèi)容的路由 283
10.4 組合條件路由 284
10.5 多服務(wù)灰度發(fā)布 286
10.6 TCP服務(wù)灰度發(fā)布 288
10.7 自動化灰度發(fā)布 290
10.7.1 正常發(fā)布 291
10.7.2 異常發(fā)布 294
第11章 流量治理 296
11.1 流量負(fù)載均衡 296
11.1.1 ROUND_ROBIN模式 296
11.1.2 RANDOM模式 298
11.2 會話保持 299
11.2.1 實戰(zhàn)目標(biāo) 300
11.2.2 實戰(zhàn)演練 300
11.3 故障注入 301
11.3.1 延遲注入 301
11.3.2 中斷注入 303
11.4 超時 304
11.5 重試 306
11.6 HTTP重定向 308
11.7 HTTP重寫 309
11.8 熔斷 310
11.9 限流 313
11.9.1 普通方式 314
11.9.2 條件方式 315
11.10 服務(wù)隔離 317
11.10.1 實戰(zhàn)目標(biāo) 317
11.10.2 實戰(zhàn)演練 317
11.11 影子測試 319
11.12 本章總結(jié) 322
第12章 服務(wù)保護(hù) 323
12.1 網(wǎng)關(guān)加密 323
12.1.1 單向TLS網(wǎng)關(guān) 323
12.1.2 雙向TLS網(wǎng)關(guān) 326
12.1.3 用SDS加密網(wǎng)關(guān) 328
12.2 訪問控制 331
12.2.1 黑名單 331
12.2.2 白名單 332
12.3 認(rèn)證 334
12.3.1 實戰(zhàn)目標(biāo) 334
12.3.2 實戰(zhàn)演練 334
12.4 授權(quán) 336
12.4.1 命名空間級別的訪問控制 336
12.4.2 服務(wù)級別的訪問控制 339
12.5 本章總結(jié) 341
第13章 多集群管理 342
13.1 實戰(zhàn)目標(biāo) 342
13.2 實戰(zhàn)演練 342
13.3 本章總結(jié) 350

架 構(gòu) 篇
第14章 司令官Pilot 352
14.1 Pilot的架構(gòu) 352
14.1.1 Istio的服務(wù)模型 354
14.1.2 xDS協(xié)議 356
14.2 Pilot的工作流程 360
14.2.1 Pilot的啟動與初始化 361
14.2.2 服務(wù)發(fā)現(xiàn) 363
14.2.3 配置規(guī)則發(fā)現(xiàn) 368
14.2.4 Envoy的配置分發(fā) 376
14.3 Pilot的插件 383
14.3.1 安全插件 385
14.3.2 健康檢查插件 390
14.3.3 Mixer插件 391
14.4 Pilot的設(shè)計亮點 392
14.4.1 三級緩存優(yōu)化 392
14.4.2 去抖動分發(fā) 393
14.4.3 增量EDS 394
14.4.4 資源隔離 395
14.5 本章總結(jié) 396
第15章 守護(hù)神Mixer 397
15.1 Mixer的整體架構(gòu) 397
15.2 Mixer的服務(wù)模型 398
15.2.1 Template 399
15.2.2 Adapter 401
15.3 Mixer的工作流程 403
15.3.1 啟動初始化 403
15.3.2 用戶配置信息規(guī)則處理 409
15.3.3 訪問策略的執(zhí)行 416
15.3.4 無侵入遙測 421
15.4 Mixer的設(shè)計亮點 423
15.5 如何開發(fā)Mixer Adapter 424
15.6 本章總結(jié) 438
第16章 安全碉堡Citadel 439
16.1 Citadel的架構(gòu) 439
16.2 Citadel的工作流程 441
16.3 本章總結(jié) 449
第17章 高性能代理Envoy 450
17.1 Envoy的架構(gòu) 450
17.2 Envoy的特性 451
17.3 Envoy的模塊結(jié)構(gòu) 452
17.4 Envoy的線程模型 453
17.5 Envoy的內(nèi)存管理 455
17.6 Envoy的流量控制 456
17.7 Envoy與Istio的配合 457
17.3 本章總結(jié) 459
第18章 代理守護(hù)進(jìn)程Pilot-agent 460
18.1 為什么需要Pilot-agent 461
18.2 Pilot-agent的工作流程 461
18.3 本章總結(jié) 468
第19章 配置中心Galley 469
19.1 Galley的架構(gòu) 469
19.2 Galley的工作流程 471
19.3 本章總結(jié) 482

源 碼 篇
第20章 Pilot源碼解析 484
20.1 進(jìn)程啟動流程 484
20.2 關(guān)鍵代碼分析 486
20.3 本章總結(jié) 514
第21章 Mixer源碼解析 515
21.1 進(jìn)程啟動流程 515
21.2 關(guān)鍵代碼分析 5201
21.3 本章總結(jié) 543
第22章 Citadel源碼解析 544
22.1 進(jìn)程啟動流程 544
22.2 關(guān)鍵代碼分析 548
22.3 本章總結(jié) 558
第23章 Envoy源碼解析 559
23.1 Envoy的初始化 559
23.2 Envoy的運行和建立新連接 564
23.3 Envoy對數(shù)據(jù)的讀取、接收及處理 567
23.4 Envoy發(fā)送數(shù)據(jù)到服務(wù)端 570
23.5 本章總結(jié) 573
第24章 Galley源碼解析 574
24.1 進(jìn)程啟動流程 574
24.2 關(guān)鍵代碼分析 580
24.3 本章總結(jié) 589
結(jié)語 590
附錄A 源碼倉庫介紹 592
附錄B 實踐經(jīng)驗和總結(jié) 598

**篇幅限制,完整目錄請見本書**

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號