Istio 服務網格實例精解 Bootstrapping Service Mesh Implementations with Istio: Build reliable, scalable, and secure microservices on Kubernetes with Service Mesh
[印]阿南德·拉伊 著 黃永強 譯 黃永強 譯
- 出版商: 清華大學
- 出版日期: 2024-08-01
- 售價: $774
- 貴賓價: 9.5 折 $735
- 語言: 簡體中文
- ISBN: 7302668590
- ISBN-13: 9787302668596
- 此書翻譯自: Bootstrapping Service Mesh Implementations with Istio: Build reliable, scalable, and secure microservices on Kubernetes with Service Mesh
立即出貨 (庫存=1)
買這商品的人也買了...
-
$650$553 -
$301Cloudera Hadoop 大數據平臺實戰指南
-
$403Prometheus 監控實戰
-
$680$537 -
$454AI 自動化測試:技術原理、平臺搭建與工程實踐
-
$780$616 -
$550$429 -
$839$797 -
$680$530 -
$839$797 -
$690$545 -
$588$559 -
$650$507 -
$650$507 -
$800$632 -
$720$562 -
$648$616 -
$980$774 -
$780$616 -
$500軟體效能測試實戰教學 (LoadRunner 與 JMeter)
-
$790$624 -
$862Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 6/e (上)
-
$469eBPF 雲端原生安全:原理與實務
-
$403AI 攝影繪畫創作完全自學一本通
-
$539$512
相關主題
商品描述
"《Istio服務網格實例精解》詳細闡述了與Istio服務網格相關的基本解決方案,主要包括服務網格簡介、Istio入門、理解Istio控制平面和數據平面、管理應用程序流量、管理應用程序彈性、確保微服務通信的安全、服務網格可觀察性、將Istio擴展到跨Kubernetes的多集群部署、擴展Istio數據平面、為非Kubernetes工作負載部署Istio服務網格、Istio故障排除和操作等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。"
目錄大綱
目 錄
第1篇 基 礎 知 識
第1章 服務網格簡介 3
1.1 雲計算基礎知識 3
1.1.1 雲計算的選項和分類 3
1.1.2 雲計算的優勢 6
1.2 瞭解微服務架構 8
1.3 瞭解Kubernetes 13
1.4 關於服務網格 16
1.4.1 使用服務網格的理由 16
1.4.2 Kubernetes實例解析 18
1.4.3 重試機制、斷路、超時和截止時間 24
1.4.4 藍/綠部署和金絲雀部署 25
1.5 小結 29
第2章 Istio入門 31
2.1 Istio簡介 31
2.2 探索Istio的替代方案 32
2.2.1 Kuma 32
2.2.2 Linkerd 32
2.2.3 Consul 33
2.2.4 AWS App Mesh 33
2.2.5 OpenShift Service Mesh 33
2.2.6 F5 NGINX Service Mesh 34
2.3 準備工作站以安裝Istio 34
2.3.1 系統和硬件需求 34
2.3.2 安裝minikube和Kubernetes命令行工具 35
2.4 安裝Istio 38
2.4.1 下載安裝文件 38
2.4.2 查看安裝包 39
2.4.3 使用istioctl執行安裝 39
2.4.4 檢查安裝結果 40
2.4.5 為示例應用程序啟用Istio 41
2.4.6 Sidecar註入 43
2.4.7 Istio網關 48
2.5 可觀察性工具 53
2.5.1 kiali 54
2.5.2 Jaeger 56
2.5.3 Prometheus 57
2.5.4 Grafana 58
2.6 Istio架構 59
2.7 小結 60
第3章 理解Istio控制平面和數據平面 63
3.1 探索Istio控制平面的組件 63
3.1.1 istiod 64
3.1.2 Istio operator和istioctl 67
3.1.3 Istio agent 71
3.2 Istio控制平面的部署模型 72
3.2.1 具有本地控制平面的單個集群 73
3.2.2 具有單一控制平面的主集群和遠程集群 74
3.2.3 具有外部控制平面的單個集群 75
3.3 Envoy探索 76
3.3.1 Envoy的顯著特徵 76
3.3.2 HTTP過濾器 79
3.3.3 偵聽器過濾器 84
3.3.4 通過xDS API進行動態配置 85
3.3.5 可擴展性 87
3.4 小結 88
第2篇 Istio實戰
第4章 管理應用程序流量 91
4.1 技術要求 91
4.1.1 設置環境 92
4.1.2 創建EKS集群 92
4.1.3 設置kubeconfig和kubectl 94
4.1.4 部署Sockshop應用程序 94
4.2 使用Kubernetes Ingress資源管理入口流量 95
4.2.1 瞭解Kubernetes Ingress資源管理機制 95
4.2.2 使用Istio網關控制器處理Ingress資源 98
4.2.3 添加Ingress規則 100
4.3 使用Istio網關管理Ingress 102
4.3.1 創建網關 102
4.3.2 創建虛擬服務 103
4.4 流量路由和金絲雀版本 107
4.4.1 流量路由 107
4.4.2 定義目的地規則 108
4.5 流量鏡像 111
4.6 將流量路由到集群外部的服務 113
4.7 通過HTTPS公開入口 115
4.7.1 創建證書 115
4.7.2 配置Istio網關 116
4.7.3 允許HTTP重定向到HTTPS 118
4.7.4 為多個主機啟用HTTPS 119
4.7.5 為CNAME和通配符記錄啟用HTTPS 121
4.8 使用Istio管理出口流量 123
4.8.1 使用ServiceEntry 123
4.8.2 使用Egress網關 124
4.9 小結 127
第5章 管理應用程序彈性 129
5.1 使用故障註入實現應用程序彈性 129
5.1.1 HTTP延遲 130
5.1.2 HTTP中止 134
5.2 使用超時和重試實現應用程序彈性 137
5.2.1 超時 137
5.2.2 重試 140
5.3 使用負載均衡構建應用程序彈性 143
5.3.1 循環 143
5.3.2 RANDOM 144
5.3.3 LEAST_REQUEST 145
5.3.4 定義多個負載均衡規則 146
5.4 速率限制 147
5.5 斷路器和異常值檢測 150
5.6 小結 152
第6章 確保微服務通信的安全 155
6.1 理解Istio安全架構 155
6.2 使用雙向TLS進行身份驗證 158
6.2.1 服務到服務的身份驗證 159
6.2.2 使用網格外的客戶端進行身份驗證 164
6.3 配置RequestAuthentication 165
6.4 配置RequestAuthorization 172
6.5 小結 178
第7章 服務網格可觀察性 179
7.1 理解可觀察性 179
7.2 使用Prometheus抓取指標 181
7.2.1 安裝Prometheus 182
7.2.2 部署示例應用程序 183
7.3 自定義Istio指標 187
7.3.1 Istio指標、維度和值 187
7.3.2 向Istio指標添加維度 189
7.3.3 創建新的Istio指標 192
7.4 使用Grafana可視化遙測信息 194
7.4.1 安裝Grafana 194
7.4.2 創建警報 196
7.5 實現分佈式跟蹤 201
7.5.1 Jaeger簡介 201
7.5.2 安裝和配置Jaeger 202
7.5.3 檢查跟蹤信息 203
7.6 小結 208
第3篇 縮放、擴展和優化
第8章 將Istio擴展到跨Kubernetes的多集群部署 213
8.1 技術要求 213
8.1.1 設置Kubernetes集群 214
8.1.2 設置OpenSSL 215
8.1.3 其他Google Cloud步驟 215
8.2 在多集群部署中建立互信 216
8.3 多網絡上的primary-remote配置 219
8.3.1 建立兩個集群之間的信任 220
8.3.2 部署Envoy虛擬應用程序 228
8.3.3 測試虛擬應用程序的流量分佈 229
8.4 同一網絡上的primary-remote配置 230
8.5 不同網絡上的primary-primary配置 234
8.5.1 構建多個主集群 235
8.5.2 通過Envoy虛擬服務進行部署和測試 237
8.6 同一網絡上的primary-primary配置 238
8.6.1 執行清理操作 239
8.6.2 在兩個集群上安裝Istio 240
8.7 小結 242
第9章 擴展Istio數據平面 243
9.1 技術要求 243
9.2 關於可擴展性 244
9.3 使用EnvoyFilter自定義數據平面 246
9.4 Wasm基礎 249
9.5 使用Wasm擴展Istio數據平面 253
9.5.1 Proxy-Wasm簡介 253
9.5.2 Proxy-Wasm ABI規範 254
9.5.3 Proxy-Wasm SDK 256
9.5.4 在Istio中部署Wasm 261
9.6 小結 265
第10章 為非Kubernetes工作負載部署Istio服務網格 267
10.1 技術要求 267
10.2 瞭解混合架構 270
10.3 為混合架構設置服務網格 272
10.3.1 設置概述 272
10.3.2 在虛擬機上設置演示應用程序 275
10.3.3 在集群中設置Istio 277
10.3.4 配置Kubernetes集群 277
10.3.5 在虛擬機上設置Istio 280
10.3.6 將虛擬機工作負載納入網格中 282
10.4 小結 285
第11章 Istio故障排除和操作 287
11.1 理解Istio組件之間的交互 287
11.1.1 探索Istiod埠 287
11.1.2 探索Envoy埠 289
11.2 檢查和分析Istio配置 290
11.3 使用訪問日誌排除錯誤 294
11.3.1 啟用訪問日誌 294
11.3.2 訪問日誌的內容解析 296
11.3.3 使用響應標志 297
11.4 使用調試日誌排除錯誤 299
11.4.1 更改Istio數據平面的調試日誌 299
11.4.2 更改Istio控制平面的日誌級別 300
11.5 調試Istio代理 302
11.6 瞭解Istio的最佳實踐 303
11.6.1 檢查控制平面的攻擊媒介 304
11.6.2 檢查數據平面的攻擊媒介 304
11.6.3 保護服務網格 304
11.7 使用OPA Gatekeeper自動執行最佳實踐 306
11.7.1 安裝和配置OPA Gatekeeper 307
11.7.2 配置約束 308
11.7.3 定義強制執行埠命名約定的約束 311
11.8 小結 314
第12章 總結和展望 317
12.1 技術要求 317
12.2 使用OPA Gatekeeper實施工作負載部署最佳實踐 319
12.3 將本書知識應用到Online Boutique示例應用程序中 320
12.3.1 為示例應用程序啟用服務網格 321
12.3.2 配置Istio來管理應用程序流量 323
12.3.3 配置Istio來管理應用程序彈性 327
12.3.4 配置Istio來管理應用程序安全 330
12.4 Istio的認證和學習資源 336
12.5 瞭解eBPF 338
12.6 小結 340
附錄A 其他服務網格技術 343
A.1 Consul Connect 343
A.1.1 在minikube上安裝Consul Connect 343
A.1.2 部署示例應用程序 347
A.1.3 零信任網絡 348
A.1.4 流量管理和路由 350
A.2 Gloo Mesh 357
A.3 Kuma 359
A.3.1 下載並安裝Kuma 359
A.3.2 在Kuma網格中部署envoydemo和curl 361
A.3.3 使用Kuma GUI查看網格狀態 362
A.3.4 啟用mTLS 362
A.3.5 創建流量控制策略 364
A.3.6 流量管理和路由 365
A.3.7 通過加權路由策略實現負載均衡 368
A.3.8 創建新網格 368
A.3.9 創建Kuma內置網關 369
A.3.10 定義網關路由 370
A.4 Linkerd 374
A.4.1 安裝Linkerd 374
A.4.2 在Linkerd中部署envoydummy和curl 376
A.4.3 零信任網絡 377
A.4.4 通過策略實現細粒度的訪問控制 380
A.4.5 Linkerd其他功能簡介 381