《深入淺出Istio:Service Mesh快速入門與實踐》是Istio首著,手把手入門Service Mesh和實踐,本書的作者崔秀龍乃Kubernetes指南作者之一,Istio、Kubernetes項目成員,Istio.io主要貢獻者之一。
基本介紹
- 書名:深入淺出Istio:Service Mesh快速入門與實踐
- 作者:崔秀龍
- ISBN:978-7-121-35964-4
- 頁數:216
- 定價:79
- 出版社:電子工業出版社
- 出版時間:2019-03
- 裝幀:平裝
- 開本:16
內容提要,作者簡介,本書概要,
內容提要
Google聯合IBM、Lyft推出的Istio,一經問世就受到了人們的普遍關注,其熱度迅速攀升,成為Service Mesh(服務格線)方案的代表項目。《深入淺出Istio:Service Mesh快速入門與實踐》整理了Istio中的部分概念和案例,以快速入門的形式,對Istio的基礎用法一一進行講解,並在書末給出一些試用方面的建議。
在《深入淺出Istio:Service Mesh快速入門與實踐》中,前3章從微服務和服務格線的簡短歷史開始,講述了服務格線的誕生過程、基本特性及Istio的核心功能,若對這些內容已經有所了解,則可以直接從第4章開始閱讀;第4、5章分別講解了Istio的配置和部署過程;第6章至第9章,通過多個場景來講解Istio的常用功能;第10章結合了筆者的實踐經驗,為讀者提供了Istio的一系列試用建議。《深入淺出Istio:Service Mesh快速入門與實踐》沒有採用官方複雜的Book Info套用案例,而是採用客戶端+簡單HTTP服務端的案例,讀者隨時都能在短時間內啟動一個小的測試。
《深入淺出Istio:Service Mesh快速入門與實踐》面向對服務格線技術感興趣,並希望進一步了解和學習Istio的中高級技術人員,假設讀者已經了解Kubernetes的相關概念並能夠在Kubernetes上熟練部署和管理微服務。
第1章 服務格線的歷史 1
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 Mixer 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 Proxy相關的參數 51
5.2.4 proxy_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 meshExpansion 55
5.2.15 meshExpansionILB 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章 Mixer適配器的套用 142
8.1 Mixer適配器簡介 143
8.2 基於Denier適配器的訪問控制 144
8.3 基於Listchecker適配器的訪問控制 146
8.4 使用MemQuota適配器進行服務限流 150
8.4.1 Mixer對象的定義 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
作者簡介
崔秀龍
HPE軟體分析師;
Istio、Kubernetes項目成員;
本書概要
本書圍繞Istio對服務格線的概念、歷史和能力,以各種實例為基礎,進行了易於上手和理解的講解。
前3章從微服務和服務格線的簡短歷史開始,講述了服務格線的誕生過程、基本特性及Istio的核心功能,若對這些內容已經有所了解,則可以直接從第4章開始閱讀。
第4、5章分別講解了Istio的配置和部署過程。
第6章至第9章,通過多個場景來講解Istio的常用功能。本書沒有採用官方複雜的複雜Book Info套用案例,而是採用客戶端+簡單HTTP服務端的案例,讀者隨時都能在短時間內啟動一個小的測試。
第10章結合了筆者的實踐經驗,為讀者提供了Istio的一系列試用建議。
希望讀者能通過本書快速地對Istio的功能特性有一個基本認識,理解其中的優點和不足,並進一步試用和評估。