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

Istio服務網格技術解析與實踐

Istio服務網格技術解析與實踐

定 價:¥99.00

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

購買這本書可以去


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

內容簡介

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

作者簡介

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

圖書目錄

目  錄?Contents
序 一
序 二
序 三
前 言
初級篇
第1章 服務網格與Istio 2
1.1 微服務架構的發(fā)展與挑戰(zhàn) 2
1.2 使用應用程序庫解決這些挑戰(zhàn) 4
1.2.1 特定應用程序庫的缺點 5
1.2.2 將這些問題推向基礎設施 6
1.3 什么是服務網格 7
1.4 為什么服務網格是必要的 10
1.5 Istio服務網格 11
1.5.1 核心功能 12
1.5.2 為什么要使用Istio 14
1.5.3 成熟度和支持級別 15
1.6 本章總結 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服務 28
2.4 在Istio中部署第一個應用程序 31
2.5 本章總結 39
第3章 Istio架構剖析 40
3.1 Istio的整體架構 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 本章總結 67
中級篇
第4章 東西向流量管理 70
4.1 流量管理 70
4.1.1 術語 72
4.1.2 流量拆分與導向 72
4.1.3 Istio服務與Kubernetes服務 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流量鏡像的服務 90
4.3.4 創(chuàng)建流量鏡像的Istio策略 92
4.3.5 搭建Diffy用于請求流量對比 93
4.3.6 發(fā)送流量進行鏡像驗證 96
4.4 通過Istio管理應用的灰度發(fā)布 99
4.4.1 Kubernetes中的灰度發(fā)布 100
4.4.2 使用 Istio進行灰度發(fā)布 101
4.4.3 統(tǒng)一的流量路由規(guī)則 102
4.5 本章總結 103
第5章 南北向流量管理 104
5.1 Istio 網關 104
5.1.1 Istio網關的工作原理 104
5.1.2 Istio網關的負載均衡作用 105
5.1.3 入口網關服務 107
5.1.4 入口網關部署 107
5.1.5 網關資源 108
5.1.6 網關虛擬服務 109
5.1.7 調試入口網關 109
5.2 用HTTPS 加密網關 110
5.2.1 為入口網關配置TLS 111
5.2.2 創(chuàng)建示例服務 112
5.2.3 定義虛擬服務 112
5.2.4 通過網關請求示例服務 113
5.2.5 為多個主機配置 TLS入口網關 114
5.3 基于SNI的TLS路由 119
5.3.1 定義內部服務nginx 121
5.3.2 定義內部服務nginx2 122
5.3.3 部署網關 124
5.3.4 根據(jù)域名進行訪問 125
5.4 服務條目 126
5.4.1 服務條目基本原理 126
5.4.2 服務條目的定義參數(shù) 127
5.5 實現(xiàn)出口流量路由的統(tǒng)一管理 130
5.5.1 出口安全 130
5.5.2 創(chuàng)建客戶端 131
5.5.3 HTTP流量網關 131
5.5.4 HTTPS流量網關 133
5.5.5 出口流量的TLS發(fā)起 136
5.6 實現(xiàn)服務條目的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)建服務條目驗證DNS解析 141
5.7 本章總結 142
第6章 流量治理 144
6.1 使用流量策略 144
6.1.1 目標規(guī)則 144
6.1.2 流量策略 145
6.2 設置負載均衡 146
6.2.1 標準負載均衡算法 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)建示例服務 152
6.3.4 使用fortio觸發(fā)熔斷 154
6.4 服務重試 157
6.5 故障注入 160
6.6 命名空間隔離下的流量管理 165
6.6.1 Sidecar資源定義 165
6.6.2 示例 166
6.7 本章總結 169
第7章 安全 170
7.1 Istio安全架構 170
7.1.1 Istio身份模型 172
7.1.2 Istio公鑰基礎設施 172
7.1.3 Istio證書和密鑰輪換機制 173
7.2 剖析認證機制 173
7.2.1 認證架構 174
7.2.2 雙向TLS認證 175
7.2.3 認證策略 175
7.3 使用認證策略 175
7.3.1 Istio默認認證策略 177
7.3.2 認證策略示例 177
7.3.3 雙向認證策略檢查 180
7.4 使用自定義CA證書和密鑰 181
7.4.1 準備證書和密鑰 181
7.4.2 插入證書和密鑰 184
7.4.3 檢查新證書 185
7.5 使用cert-manager管理網關證書 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 部署自定義網關 189
7.5.8 定義Kubernetes服務 192
7.5.9 創(chuàng)建虛擬服務 194
7.6 剖析授權機制 196
7.6.1 啟用全局授權 197
7.6.2 Istio授權策略 197
7.6.3 授權策略示例 199
7.6.4 診斷授權策略 201
7.7 本章總結 206
第8章 Mixer的控制與觀測 207
8.1 Mixer架構設計 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 指標數(shù)據(jù)收集 214
8.3.1 metric模板 214
8.3.2 Prometheus適配器的配置 215
8.3.3 監(jiān)控指標 216
8.3.4 配置Istio收集指標 218
8.3.5 查詢Istio指標 220
8.3.6 可視化Istio指標 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 部署應用示例 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 部署應用示例 243
8.7 啟用黑白名單策略 244
8.7.1 list適配器及模板 245
8.7.2 部署應用示例 246
8.7.3 部署適配器示例 246
8.7.4 校驗白名單策略 247
8.8 本章總結 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流量管理相關運維 258
9.2.1 路由規(guī)則對應用程序不生效 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 本章總結 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 網格擴展 294
10.5.2 生成Istio的配置cluster.env 297
10.5.3 生成DNS配置文件kubedns 297
10.5.4 獲取Istio服務賬戶密鑰 298
10.5.5 在虛擬機上進行配置 298
10.5.6 部署應用示例到網格擴展 300
10.6 擴展Envoy過濾器 307
10.6.1 定義Envoy過濾器 307
10.6.2 部署示例應用 310
10.7 集成外部Zipkin兼容服務 312
10.7.1 集成部署 312
10.7.2 使用原生Zipkin 314
10.7.3 使用Zipkin兼容服務 315
10.8 本章總結 316
第11章 Knative:基于Istio的無服務器計算 317
11.1 Knative架構解析 317
11.1.1 Knative > Kubernetes + Istio 318
11.1.2 Knative的設計 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構建的鏡像 326
11.3 Knative Eventing運行機制 327
11.3.1 架構設計 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的設計 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 使用藍綠部署路由和管理流量 345
11.7 本章總結 348
第12章 多集群管理 349
12.1 服務網格的未來 350
12.2 多集群部署管理 351
12.3 單控制平面VPN連接拓撲 351
12.3.1 前提約束 352
12.3.2 拓撲架構 352
12.3.3 啟用雙向TLS通信 354
12.3.4 部署本地控制平面 354
12.3.5 安裝istio-remote 356
12.3.6 部署示例應用 359
12.4 單控制平面Gateway連接拓撲 361
12.4.1 集群感知的服務路由 361
12.4.2 Istio控制平面組件 362
12.4.3 istio-remote組件 363
12.4.4 部署示例應用 365
12.5 多控制平面 366
12.5.1 部署控制平面 366
12.5.2 設置DNS 368
12.5.3 部署示例應用 369
12.5.4 跨集群的版本路由 371
12.6 本章總結 374
......

本目錄推薦

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