深入理解 Istio:雲原生服務網格進階實戰

雲原生社區

  • 出版商: 電子工業
  • 出版日期: 2022-06-01
  • 售價: $768
  • 貴賓價: 9.5$730
  • 語言: 簡體中文
  • 頁數: 488
  • ISBN: 7121435276
  • ISBN-13: 9787121435270
  • 相關分類: 雲端運算
  • 立即出貨

買這商品的人也買了...

商品描述

本書是雲原生社區多位服務網格技術專家的鼎力之作。全書共 10 章,內容涉及 Service Mesh 概述、核心功能、架構解析、安裝與部署、流量控制、可觀察性、安全、進階實戰、故障排查、Service Mesh 生態,分別從概念、實踐和生態擴展 3 個層面為讀者系統介紹了 Istio 的相關知識,著重介紹了 Istio 在 1.5 版本以後的重大變化,從底層深入剖析了 Istio 的各項核心功能。本書能為雲計算領域的從業者,尤其是微服務領域的開發者在落地 Istio 時提供理論指導和實際借鑒。

目錄大綱

1.1 Spring Cloud 3

1.2 Linkerd 4

1.3 Istio 6

1.4 國內服務網格的興起 6

2章 服務網格的基本特性 8

2.1 連接 9

2.2 安全 12

2.3 策略 13

2.4 觀察 13

3章 Istio基本介紹 15

3.1 Istio的核心組件及其功能 16

3.1.1 Pilot 16

3.1.2 Mier 18

3.1.3 Citadel 20

3.1.4 Sidecar(Envoy) 20

3.2 核心配置對象 21

3.2.1 networking.istio.io 22

3.2.2 config.istio.io 24

3.2.3 authentication.istio.io 27

3.2.4 rbac.istio.io 28

3.3 小結 28

4章 Istio快速入門 29

4.1 環境介紹 30

4.2 快速部署Istio 31

4.3 部署兩個版本的服務 33

4.4 部署客戶端服務 37

4.5 驗證服務 39

4.6 創建目標規則和默認路由 39

4.7 小結 42

5章 用Helm部署Istio 43

5.1 Istio Chart概述 44

5.1.1 Chart.yaml 44

5.1.2 values-*.yaml 45

5.1.3 requirements.yaml 46

5.1.4 templates/_affinity.tpl 47

5.1.5 templates/sidecar-injector-configmap.yaml 47

5.1.6 templates/configmap.yaml 48

5.1.7 templates/crds.yaml 48

5.1.8 charts 48

5.2 全局變量介紹 49

5.2.1 hub和tag 49

5.2.2 ingress.enabled 50

5.2.3 Proy相關的參數 51

5.2.4 proy_init.image 53

5.2.5 imagePullPolicy 53

5.2.6 controlPlaneSecurityEnabled 53

5.2.7 disablePolicyChecks 53

5.2.8 enableTracing 53

5.2.9 mtls.enabled 53

5.2.10 imagePullSecrets 54

5.2.11 arch 54

5.2.12 oneNamespace 54

5.2.13 configValidation 54

5.2.14 meshEpansion 55

5.2.15 meshEpansionILB 55

5.2.16 defaultResources 55

5.2.17 hyperkube 55

5.2.18 priorityClassName 55

5.2.19 crds 56

5.2.20 小結 56

5.3 Istio安裝清單的生成和部署 56

5.3.1 編輯values.yaml 56

5.3.2 生成部署清單 58

5.3.3 部署Istio 58

5.4 小結 59

6章 Istio的常用功能 60

6.1 在網格中部署應用 61

6.1.1 對工作負載的要求 63

6.1.2 使用自動注入 64

6.1.3 準備測試應用 69

6.2 修改Istio配置 69

6.3 使用Istio Dashboard 70

6.3.1 啟用Grafana 70

6.3.2 訪問Grafana 71

6.3.3 開放Grafana服務 73

6.3.4 學習和定制 74

6.4 使用Prometheus 76

6.4.1 訪問Prometheus 76

6.4.2 開放Prometheus服務 77

6.4.3 學習和定制 77

6.5 使用Jaeger 77

6.5.1 啟用Jaeger 78

6.5.2 訪問Jaeger 78

6.5.3 跟踪參數的傳遞 81

6.5.4 開放Jaeger服務 86

6.6 使用Kiali 87

6.6.1 啟用Kiali 87

6.6.2 訪問Kiali 88

6.6.3 開放Kiali服務 92

6.7 小結 92

7章 HTTP流量管理 93

7.1 定義目標規則 94

7.2 定義默認路由 98

7.3 流量的拆分和遷移 101

7.4 金絲雀部署 105

7.5 根據來源服務進行路由 108

7.6 對URI進行重定向 110

7.7 通信時控制 115

7.8 故障重試控制 116

7.9 入口流量管理 120

7.9.1 使用Gateway開放服務 121

7.9.2 為Gateway添加證書支持 123

7.9.3 為Gateway添加多個證書支持 124

7.9.4 配置入口流量的路由 126

7.10 出口流量管理 127

7.10.1 設置Sidecar的流量劫持範圍 128

7.10.2 設置ServiceEntry 129

7.11 新建Gateway控制器 131

7.12 設置服務熔斷 134

7.13 故障注入測試 136

7.13.1 注入延遲 137

7.13.2 注入中斷 138

7.14 流量複製 139

8章 Mier適配器的應用 142

8.1 Mier適配器簡介 143

8.2 基於Denier適配器的訪問控制 144

8.3 基於Listchecker適配器的訪問控制 146

8.4 使用MemQuota適配器進行服務限流 150

8.4.1 Mier對象的定義 150

8.4.2 客戶端對象定義 152

8.4.3 測試限流功能 153

8.4.4 注意事項 154

8.5 使用RedisQuota適配器進行服務限流 155

8.5.1 啟動Redis服務 155

8.5.2 定義限流相關對象 156

8.5.3 測試限流功能 158

8.6 為Prometheus定義監控指標 158

8.6.1 默認監控指標 159

8.6.2 自定義監控指標 162

8.7 使用stdio輸出自定義日誌 165

8.7.1 默認的訪問日誌 167

8.7.2 定義日誌對象 169

8.7.3 測試輸出 170

8.8 使用Fluentd輸出日誌 171

8.8.1 部署Fluentd 171

8.8.2 定義日誌對象 173

8.8.3 測試輸出 174

8.9 小結 175

9章 Istio的安全加固 176

9.1 Istio安全加固概述 177

9.2 啟用mTLS 179

9.3 設置RBAC 183

9.4 RBAC的除錯過程 189

10章 Istio的試用建議 192

10.1 Istio自身的突出問題 193

10.2 確定功能範圍 194

10.3 選擇試用業務 196

10.4 試用過程 197

10.4.1 制定目標 197

10.4.2 方案部署 198

10.4.3 測試驗證 200

10.4.4 切換演練 201

10.4.5 試點上線 201