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

Istio服務(wù)網(wǎng)格技術(shù)解析與實踐

Istio服務(wù)網(wǎng)格技術(shù)解析與實踐

定 價:¥99.00

作 者: 王夕寧 著
出版社: 機械工業(yè)出版社
叢編項: 云計算與虛擬化技術(shù)叢書
標(biāo) 簽: 暫缺

ISBN: 9787111644682 出版時間: 2020-03-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書系統(tǒng)介紹服務(wù)網(wǎng)格技術(shù)與Istio的開發(fā)實戰(zhàn)。 全書分為三大篇-共12章。 初級篇(第1-3章):首先介紹Istio和服務(wù)網(wǎng)格的基本概念-并快速搭建Istio環(huán)境-部署第一個應(yīng)用程序;然后介紹Istio的整體架構(gòu)。 中級篇(第4-8章):介紹Istio在東西向、南北向流量方面的路由控制能力-包括流量路由規(guī)則、流量鏡像等-以及流量治理方面的高級能力-包括流量策略、負(fù)載均衡等;還介紹Istio安全方面的能力-以及Istio Mixer的控制與觀測能力。 高級篇(第9-12章):介紹Istio的穩(wěn)定性與運維經(jīng)驗、Istio的定制與擴展、基于Istio的無服務(wù)器計算設(shè)計等;最后對云原生技術(shù)的生態(tài)系統(tǒng)進行了介紹和未來展望-并展示了如何實現(xiàn)多云環(huán)境下的多集群部署。

作者簡介

  王夕寧阿里云高級技術(shù)專家-阿里云服務(wù)網(wǎng)格產(chǎn)品ASM及Istio on Kubernetes技術(shù)負(fù)責(zé)人-關(guān)注Kubernetes、云原生、服務(wù)網(wǎng)格等領(lǐng)域。曾在IBM中國開發(fā)中心工作-擔(dān)任過專利技術(shù)評審委員會主席-作為架構(gòu)師和主要開發(fā)人員負(fù)責(zé)或參與了一系列在SOA中間件、云計算、IoT等領(lǐng)域的開發(fā)工作-擁有40多項相關(guān)領(lǐng)域的國際技術(shù)專利。

圖書目錄

目  錄?Contents
序 一
序 二
序 三
前 言
初級篇
第1章 服務(wù)網(wǎng)格與Istio 2
1.1 微服務(wù)架構(gòu)的發(fā)展與挑戰(zhàn) 2
1.2 使用應(yīng)用程序庫解決這些挑戰(zhàn) 4
1.2.1 特定應(yīng)用程序庫的缺點 5
1.2.2 將這些問題推向基礎(chǔ)設(shè)施 6
1.3 什么是服務(wù)網(wǎng)格 7
1.4 為什么服務(wù)網(wǎng)格是必要的 10
1.5 Istio服務(wù)網(wǎng)格 11
1.5.1 核心功能 12
1.5.2 為什么要使用Istio 14
1.5.3 成熟度和支持級別 15
1.6 本章總結(jié) 16
第2章 快速上手Istio 17
2.1 在MiniKube上搭建Istio環(huán)境 17
2.1.1 安裝啟動Minikube 17
2.1.2 安裝部署Helm 18
2.1.3 安裝部署Istio 19
2.2 在Docker Desktop上搭建Istio環(huán)境 22
2.2.1 安裝配置Docker Desktop for
 Kubernetes 22
2.2.2 切換Kubernetes 24
2.2.3 安裝部署Helm 26
2.2.4 安裝部署Istio 26
2.3 使用公有云Istio服務(wù) 28
2.4 在Istio中部署第一個應(yīng)用程序 31
2.5 本章總結(jié) 39
第3章 Istio架構(gòu)剖析 40
3.1 Istio的整體架構(gòu) 40
3.2 剖析Istio控制平面 42
3.3 剖析Istio數(shù)據(jù)平面 45
3.3.1 Envoy代理 45
3.3.2 Envoy的啟動配置 47
3.3.3 Envoy靜態(tài)與動態(tài)配置 47
3.3.4 使用Envoy 51
3.3.5 Envoy請求重試 56
3.3.6 Envoy的Admin API 58
3.3.7 Envoy與其他類似代理的比較 61
3.4 剖析Sidecar自動注入 62
3.4.1 Kubernetes的Webhook機制 62
3.4.2 啟用Webhook插件 63
3.4.3 采用Webhook自動注入Istio Sidecar 63
3.4.4 開啟需要自動注入Sidecar的命名空間 66
3.5 本章總結(jié) 67
中級篇
第4章 東西向流量管理 70
4.1 流量管理 70
4.1.1 術(shù)語 72
4.1.2 流量拆分與導(dǎo)向 72
4.1.3 Istio服務(wù)與Kubernetes服務(wù) 73
4.1.4 示例 76
4.2 實現(xiàn)東西向流量路由 83
4.2.1 自動 Sidecar 注入 84
4.2.2 部署 85
4.2.3 查看Ingress Gateway的地址 85
4.2.4 請求路由 86
4.3 實現(xiàn)流量鏡像及對比分析 89
4.3.1 流量鏡像 89
4.3.2 流量對比 89
4.3.3 創(chuàng)建用于Istio流量鏡像的服務(wù) 90
4.3.4 創(chuàng)建流量鏡像的Istio策略 92
4.3.5 搭建Diffy用于請求流量對比 93
4.3.6 發(fā)送流量進行鏡像驗證 96
4.4 通過Istio管理應(yīng)用的灰度發(fā)布 99
4.4.1 Kubernetes中的灰度發(fā)布 100
4.4.2 使用 Istio進行灰度發(fā)布 101
4.4.3 統(tǒng)一的流量路由規(guī)則 102
4.5 本章總結(jié) 103
第5章 南北向流量管理 104
5.1 Istio 網(wǎng)關(guān) 104
5.1.1 Istio網(wǎng)關(guān)的工作原理 104
5.1.2 Istio網(wǎng)關(guān)的負(fù)載均衡作用 105
5.1.3 入口網(wǎng)關(guān)服務(wù) 107
5.1.4 入口網(wǎng)關(guān)部署 107
5.1.5 網(wǎng)關(guān)資源 108
5.1.6 網(wǎng)關(guān)虛擬服務(wù) 109
5.1.7 調(diào)試入口網(wǎng)關(guān) 109
5.2 用HTTPS 加密網(wǎng)關(guān) 110
5.2.1 為入口網(wǎng)關(guān)配置TLS 111
5.2.2 創(chuàng)建示例服務(wù) 112
5.2.3 定義虛擬服務(wù) 112
5.2.4 通過網(wǎng)關(guān)請求示例服務(wù) 113
5.2.5 為多個主機配置 TLS入口網(wǎng)關(guān) 114
5.3 基于SNI的TLS路由 119
5.3.1 定義內(nèi)部服務(wù)nginx 121
5.3.2 定義內(nèi)部服務(wù)nginx2 122
5.3.3 部署網(wǎng)關(guān) 124
5.3.4 根據(jù)域名進行訪問 125
5.4 服務(wù)條目 126
5.4.1 服務(wù)條目基本原理 126
5.4.2 服務(wù)條目的定義參數(shù) 127
5.5 實現(xiàn)出口流量路由的統(tǒng)一管理 130
5.5.1 出口安全 130
5.5.2 創(chuàng)建客戶端 131
5.5.3 HTTP流量網(wǎng)關(guān) 131
5.5.4 HTTPS流量網(wǎng)關(guān) 133
5.5.5 出口流量的TLS發(fā)起 136
5.6 實現(xiàn)服務(wù)條目的DNS尋址 137
5.6.1 CoreDNS 及其插件工作機制 138
5.6.2 Kubernetes下的CoreDNS 139
5.6.3 部署Istio CoreDNS 140
5.6.4 更改集群CoreDNS配置 140
5.6.5 創(chuàng)建服務(wù)條目驗證DNS解析 141
5.7 本章總結(jié) 142
第6章 流量治理 144
6.1 使用流量策略 144
6.1.1 目標(biāo)規(guī)則 144
6.1.2 流量策略 145
6.2 設(shè)置負(fù)載均衡 146
6.2.1 標(biāo)準(zhǔn)負(fù)載均衡算法 147
6.2.2 會話保持 147
6.2.3 示例 147
6.3 熔斷 150
6.3.1 連接池管理 151
6.3.2 異常檢測 152
6.3.3 創(chuàng)建示例服務(wù) 152
6.3.4 使用fortio觸發(fā)熔斷 154
6.4 服務(wù)重試 157
6.5 故障注入 160
6.6 命名空間隔離下的流量管理 165
6.6.1 Sidecar資源定義 165
6.6.2 示例 166
6.7 本章總結(jié) 169
第7章 安全 170
7.1 Istio安全架構(gòu) 170
7.1.1 Istio身份模型 172
7.1.2 Istio公鑰基礎(chǔ)設(shè)施 172
7.1.3 Istio證書和密鑰輪換機制 173
7.2 剖析認(rèn)證機制 173
7.2.1 認(rèn)證架構(gòu) 174
7.2.2 雙向TLS認(rèn)證 175
7.2.3 認(rèn)證策略 175
7.3 使用認(rèn)證策略 175
7.3.1 Istio默認(rèn)認(rèn)證策略 177
7.3.2 認(rèn)證策略示例 177
7.3.3 雙向認(rèn)證策略檢查 180
7.4 使用自定義CA證書和密鑰 181
7.4.1 準(zhǔn)備證書和密鑰 181
7.4.2 插入證書和密鑰 184
7.4.3 檢查新證書 185
7.5 使用cert-manager管理網(wǎng)關(guān)證書 186
7.5.1 生成簽名密鑰對 186
7.5.2 將簽名密鑰對保存為Secret 186
7.5.3 部署cert-manager 186
7.5.4 創(chuàng)建引用Secret的Issuer 187
7.5.5 獲得簽名證書 187
7.5.6 檢查證書與密鑰 188
7.5.7 部署自定義網(wǎng)關(guān) 189
7.5.8 定義Kubernetes服務(wù) 192
7.5.9 創(chuàng)建虛擬服務(wù) 194
7.6 剖析授權(quán)機制 196
7.6.1 啟用全局授權(quán) 197
7.6.2 Istio授權(quán)策略 197
7.6.3 授權(quán)策略示例 199
7.6.4 診斷授權(quán)策略 201
7.7 本章總結(jié) 206
第8章 Mixer的控制與觀測 207
8.1 Mixer架構(gòu)設(shè)計 207
8.2 剖析適配器機制 209
8.2.1 屬性及表達式 209
8.2.2 配置模型 212
8.2.3 處理程序 212
8.2.4 示例 213
8.2.5 規(guī)則 214
8.3 指標(biāo)數(shù)據(jù)收集 214
8.3.1 metric模板 214
8.3.2 Prometheus適配器的配置 215
8.3.3 監(jiān)控指標(biāo) 216
8.3.4 配置Istio收集指標(biāo) 218
8.3.5 查詢Istio指標(biāo) 220
8.3.6 可視化Istio指標(biāo) 221
8.4 集成日志數(shù)據(jù)收集 222
8.4.1 logentry模板 223
8.4.2 stdio適配器的配置 224
8.4.3 配置Istio日志 225
8.4.4 查看日志 226
8.4.5 安裝EFK軟件棧 227
8.4.6 為Fluentd適配器配置Istio資源 231
8.4.7 通過Kibana查看日志 232
8.5 啟用基于Zipkin或Jaeger的分布式跟蹤 234
8.5.1 Istio跟蹤采樣率 235
8.5.2 部署應(yīng)用示例 236
8.5.3 啟用Zipkin 238
8.5.4 啟用Jaeger 238
8.6 啟用速率限制策略 240
8.6.1 配額模板 240
8.6.2 速率限制配置 241
8.6.3 部署應(yīng)用示例 243
8.7 啟用黑白名單策略 244
8.7.1 list適配器及模板 245
8.7.2 部署應(yīng)用示例 246
8.7.3 部署適配器示例 246
8.7.4 校驗白名單策略 247
8.8 本章總結(jié) 248
高級篇
第9章 Istio穩(wěn)定性與運維 250
9.1 Istio功能模塊的穩(wěn)定性與常見問題 250
9.1.1 可能的請求錯誤排查 252
9.1.2 證書有效期管理 254
9.1.3 使用SDS動態(tài)管理證書 257
9.2 Istio流量管理相關(guān)運維 258
9.2.1 路由規(guī)則對應(yīng)用程序不生效 258
9.2.2 Sidecar是否注入 258
9.2.3 Istio配置參數(shù)優(yōu)化 259
9.2.4 Envoy 無法連接 HTTP1.0 260
9.2.5 檢查Envoy與Pilot狀態(tài)差異 260
9.3 Istio組件升級與回滾 261
9.3.1 升級安裝文件 261
9.3.2 CRD升級 262
9.3.3 控制平面升級 262
9.3.4 數(shù)據(jù)平面Sidecar升級 263
9.3.5 升級中的影響分析 264
9.4 本章總結(jié) 267
第10章 Istio定制與擴展 268
10.1 Mixer適配器擴展 268
10.2 實現(xiàn)適配器 270
10.3 編譯與打包適配器 283
10.4 Istio CNI插件 287
10.4.1 安裝配置Istio CNI插件 288
10.4.2 運行機制 289
10.4.3 驗證CNI插件鏈配置 292
10.4.4 驗證iptables是否已修改 293
10.5 從Kubernetes擴展到虛擬機 294
10.5.1 網(wǎng)格擴展 294
10.5.2 生成Istio的配置cluster.env 297
10.5.3 生成DNS配置文件kubedns 297
10.5.4 獲取Istio服務(wù)賬戶密鑰 298
10.5.5 在虛擬機上進行配置 298
10.5.6 部署應(yīng)用示例到網(wǎng)格擴展 300
10.6 擴展Envoy過濾器 307
10.6.1 定義Envoy過濾器 307
10.6.2 部署示例應(yīng)用 310
10.7 集成外部Zipkin兼容服務(wù) 312
10.7.1 集成部署 312
10.7.2 使用原生Zipkin 314
10.7.3 使用Zipkin兼容服務(wù) 315
10.8 本章總結(jié) 316
第11章 Knative:基于Istio的無服務(wù)器計算 317
11.1 Knative架構(gòu)解析 317
11.1.1 Knative > Kubernetes + Istio 318
11.1.2 Knative的設(shè)計 319
11.1.3 安裝Knative 320
11.2 Knative Build運行機制 321
11.2.1 Knative Build資源定義 322
11.2.2 創(chuàng)建Knative Build示例 322
11.2.3 驗證使用Knative Build構(gòu)建的鏡像 326
11.3 Knative Eventing運行機制 327
11.3.1 架構(gòu)設(shè)計 327
11.3.2 創(chuàng)建Knative Eventing示例 329
11.3.3 驗證事件 331
11.4 基于Istio實現(xiàn)Serving組件 331
11.4.1 Knative Serving的設(shè)計 331
11.4.2 基于Serving實現(xiàn)source-to-
 URL部署 333
11.5 在Istio上部署配置Knative 336
11.6 基于Knative Serving的自動伸縮 337
11.6.1 路由與自動伸縮 338
11.6.2 自動伸縮機制 340
11.6.3 自動伸縮算法 341
11.6.4 基于Serving實現(xiàn)自動伸縮示例 343
11.6.5 使用藍(lán)綠部署路由和管理流量 345
11.7 本章總結(jié) 348
第12章 多集群管理 349
12.1 服務(wù)網(wǎng)格的未來 350
12.2 多集群部署管理 351
12.3 單控制平面VPN連接拓?fù)? 351
12.3.1 前提約束 352
12.3.2 拓?fù)浼軜?gòu) 352
12.3.3 啟用雙向TLS通信 354
12.3.4 部署本地控制平面 354
12.3.5 安裝istio-remote 356
12.3.6 部署示例應(yīng)用 359
12.4 單控制平面Gateway連接拓?fù)? 361
12.4.1 集群感知的服務(wù)路由 361
12.4.2 Istio控制平面組件 362
12.4.3 istio-remote組件 363
12.4.4 部署示例應(yīng)用 365
12.5 多控制平面 366
12.5.1 部署控制平面 366
12.5.2 設(shè)置DNS 368
12.5.3 部署示例應(yīng)用 369
12.5.4 跨集群的版本路由 371
12.6 本章總結(jié) 374
......

本目錄推薦

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