Service Mesh實戰:基於Linkerd和Kubernetes的微服務實踐(簡體書)
商品資訊
系列名:雲計算與虛擬化技術叢書
ISBN13:9787111612209
替代書名:Server Mesh in action
出版社:機械工業出版社
作者:楊章顯
出版日:2019/01/01
裝訂/頁數:平裝/213頁
規格:24.0cm*18.6cm (高/寬)
商品簡介
作者簡介
目次
商品簡介
內容簡介這是一部面向生產實踐環境的Service Mesh實戰指南,它講解了如何基於Linkerd和Kubernetes開發和部署微服務。
作者是思科的高級工程師,是國內Service Mesh領域的先驅者,較早將Linkerd應用到了生產實踐中。書中詳細介紹了Linkerd能解決什麼樣的問題,會給開發和運維人員帶來什麼樣的好處。融合作者使用Linkerd的一些經驗和教訓,詳細闡述了如何配置、部署和管理Linkerd以及在Kubernetes平臺運行微服務,並且講述了如何開發自定義Linkerd插件實現特定功能。通過這一系列內容的學習,讀者將理解Linkerd的工作原理,甚至對學習或者開發他Service Mesh也具有深刻的借鑒意義。
全書共9章,分為三個部分:第一部分(第1~2章) 基礎篇第1章主要介紹了Service Mesh的起源、功能、現有產品,以及技術選型的考量;第2章是Linkerd的入門,講解了Linkerd及其工作環境的安裝、配置和部署。
第二部分(第3~6章) 中級篇這部分內容是本書的核心之一,依次講解了Linkerd的配置、數據流工作原理、部署模式的選擇,以及它的控制面板Namerd如何管理多個Linkerd實例以及通過Linkerd實現運行時動態切換流量。
第三部分(第7~9章) 實戰篇第7章首先講解了閱讀本書必須掌握的Kubernetes的基礎知識;第8章重點通過實例演示了如何以Linkerd作為Kubernetes的Service Mesh工具運行微服務;第9章講述了如何開發自定義的Linkerd插件來實現特定的功能。
作者是思科的高級工程師,是國內Service Mesh領域的先驅者,較早將Linkerd應用到了生產實踐中。書中詳細介紹了Linkerd能解決什麼樣的問題,會給開發和運維人員帶來什麼樣的好處。融合作者使用Linkerd的一些經驗和教訓,詳細闡述了如何配置、部署和管理Linkerd以及在Kubernetes平臺運行微服務,並且講述了如何開發自定義Linkerd插件實現特定功能。通過這一系列內容的學習,讀者將理解Linkerd的工作原理,甚至對學習或者開發他Service Mesh也具有深刻的借鑒意義。
全書共9章,分為三個部分:第一部分(第1~2章) 基礎篇第1章主要介紹了Service Mesh的起源、功能、現有產品,以及技術選型的考量;第2章是Linkerd的入門,講解了Linkerd及其工作環境的安裝、配置和部署。
第二部分(第3~6章) 中級篇這部分內容是本書的核心之一,依次講解了Linkerd的配置、數據流工作原理、部署模式的選擇,以及它的控制面板Namerd如何管理多個Linkerd實例以及通過Linkerd實現運行時動態切換流量。
第三部分(第7~9章) 實戰篇第7章首先講解了閱讀本書必須掌握的Kubernetes的基礎知識;第8章重點通過實例演示了如何以Linkerd作為Kubernetes的Service Mesh工具運行微服務;第9章講述了如何開發自定義的Linkerd插件來實現特定的功能。
作者簡介
楊章顯,資深架構師和微服務技術專家,2012年加入思科,擔任高級系統工程師。
目次
前言
第一部分 基礎篇
第1章 Service Mesh簡介 2
1.1 微服務架構面臨的一些挑戰 2
1.2 技術架構演進 6
1.3 什麼是Service Mesh 9
1.4 Service Mesh的功能 10
1.5 業界Service Mesh產品 11
1.5.1 Linkerd 11
1.5.2 Envoy 12
1.5.3 Istio 13
1.5.4 Conduit 13
1.5.5 Linkerd、Envoy、Istio及Conduit比較 14
1.5.6 我們需要Service Mesh嗎 15
1.6 總結 15
第2章 Linkerd入門 16
2.1 Linkerd是什麼 16
2.2 Linkerd架構 17
2.3 Linkerd主要功能 19
2.4 安裝Linkerd 21
2.4.1 環境準備 21
2.4.2 傳統安裝方式 24
2.4.3 基於Docker的安裝方式 27
2.5 示例演示 28
2.5.1 示例準備 28
2.5.2 基於文件的服務發現 28
2.5.3 示例演示 29
2.6 總結 30
第二部分 中級篇
第3章 深入淺出Linkerd配置 32
3.1 示例應用 32
3.2 環境準備 34
3.2.1 虛擬機及Docker引擎 34
3.2.2 服務發現:Consul 35
3.2.3 服務註冊:Registrator 37
3.2.4 部署Linkerd 38
3.2.5 部署示例服務 41
3.3 Linkerd術語 45
3.4 Linkerd配置 46
3.4.1 配置構成 46
3.4.2 admin 48
3.4.3 namer 48
3.4.4 router 50
3.4.5 telemetry 55
3.4.6 usage 55
3.5 總結 55
第4章 深入Linkerd數據訪問流 56
4.1 dtab詳解 56
4.1.1 dtab定義 56
4.1.2 dtab路由原理 57
4.1.3 示例演示 60
4.2 數據訪問流詳解 62
4.2.1 鑒別 62
4.2.2 綁定 63
4.2.3 解析 64
4.2.4 轉換 64
4.2.5 負載均衡 65
4.3 總結 67
第5章 Linkerd部署模式 68
5.1 Linkerd部署模式 68
5.1.1 Per-host模式 68
5.1.2 Sidecar模式 69
5.1.3 Per-host模式和Sidecar模式 69
5.2 配置模型 70
5.2.1 service-to-linker模型 70
5.2.2 linker-to-service模型 73
5.2.3 linker-to-linker模型 76
5.3 總結 78
第6章 Linkerd控制層:Namerd 79
6.1 Namerd簡介 79
6.2 Namerd和Linkerd 80
6.3 Namerd配置詳解 82
6.3.1 admin配置 82
6.3.2 interface配置 83
6.3.3 storage配置 84
6.3.4 namer配置 85
6.4 連接Linkerd和Namerd 85
6.4.1 準備Namerd配置文件 85
6.4.2 啟動Namerd 86
6.4.3 準備Linkerd配置文件 88
6.4.4 啟動Linkerd 89
6.4.5 示例演示 90
6.5 管理dtab路由 90
6.5.1 Namerd API簡介 90
6.5.2 通過Namerd API管理dtab 91
6.5.3 通過namerctl CLI管理dtab 92
6.6 總結 93
第三部分 實戰篇
第7章 Kubernetes基礎 96
7.1 Kubernetes是什麼 96
7.2 為什麼需要Kubernetes 97
7.3 Kubernetes架構 99
7.4 使用Kubeadm部署Kubernetes集群 100
7.4.1 部署環境準備 100
7.4.2 部署Kubernetes集群 101
7.5 Kubernetes基本概念及資源生命週期管理 108
7.5.1 Container Runtime 108
7.5.2 Container 108
7.5.3 Pod 109
7.5.4 Label 112
7.5.5 RelicaSet 114
7.5.6 Deployment 116
7.5.7 Service 119
7.5.8 DaemonSet 121
7.5.9 ConfigMap和Secret 124
7.6 總結 128
第8章 基於Linkerd和Kubernetes的微服務實踐 129
8.1 部署服務於Kubernetes平臺 130
8.1.1 定義示例服務聲明文件 130
8.1.2 架構預覽 132
8.1.3 部署示例服務 133
8.1.4 驗證 134
8.2 Linkerd作為Kubernetes平臺的Service Mesh工具 135
8.2.1 架構預覽 136
8.2.2 Kubernetes平臺上如何配置Linkerd 137
8.2.3 運行Linkerd 141
8.2.4 部署示例服務 142
8.2.5 驗證 144
8.3 服務間端到端的TLS加密 145
8.3.1 SSL/TLS簡介 146
8.3.2 Linkerd透明TLS 147
8.3.3 架構預覽 150
8.3.4 生成證書 151
8.3.5 配置Linkerd 151
8.3.6 運行Linkerd及示例服務 152
8.3.7 驗證 153
8.4 Linkerd作為Kubernetes的Ingress Controller 155
8.4.1 架構預覽 156
8.4.2 Ingress Identifer簡介 157
8.4.3 配置Lnkerd 158
8.4.4 運行Linkerd及示例服務 160
8.4.5 驗證 160
8.5 Linkerd作為邊界流量入口 164
8.5.1 架構預覽 164
8.5.2 Ingress Controller局限性 165
8.5.3 部署內部Linkerd和示例服務 165
8.5.4 部署邊界Linkerd 166
8.5.5 HAproxy作為邊界Linkerd負載均衡器 167
8.6 Linkerd作為邊界出口 171
8.6.1 架構預覽 172
8.6.2 部署EgressLinkerd 173
8.6.3 部署示例服務 177
8.6.4 部署內部Linkerd 177
8.7 基於Linkerd實現運行時路由 182
8.7.1 運行時單個請求路由 182
8.7.2 基於Namerd實現全域動態路由 185
8.8 總結 198
第9章 開發Linkerd插件 199
9.1 Linkerd模塊開發框架 199
9.2 如何開發自定義插件 202
9.2.1 需求定義 202
9.2.2 環境準備 203
9.2.3 代碼開發 203
9.2.4 編譯 207
9.2.5 安裝 209
9.2.6 驗證 210
9.3 總結 213
第一部分 基礎篇
第1章 Service Mesh簡介 2
1.1 微服務架構面臨的一些挑戰 2
1.2 技術架構演進 6
1.3 什麼是Service Mesh 9
1.4 Service Mesh的功能 10
1.5 業界Service Mesh產品 11
1.5.1 Linkerd 11
1.5.2 Envoy 12
1.5.3 Istio 13
1.5.4 Conduit 13
1.5.5 Linkerd、Envoy、Istio及Conduit比較 14
1.5.6 我們需要Service Mesh嗎 15
1.6 總結 15
第2章 Linkerd入門 16
2.1 Linkerd是什麼 16
2.2 Linkerd架構 17
2.3 Linkerd主要功能 19
2.4 安裝Linkerd 21
2.4.1 環境準備 21
2.4.2 傳統安裝方式 24
2.4.3 基於Docker的安裝方式 27
2.5 示例演示 28
2.5.1 示例準備 28
2.5.2 基於文件的服務發現 28
2.5.3 示例演示 29
2.6 總結 30
第二部分 中級篇
第3章 深入淺出Linkerd配置 32
3.1 示例應用 32
3.2 環境準備 34
3.2.1 虛擬機及Docker引擎 34
3.2.2 服務發現:Consul 35
3.2.3 服務註冊:Registrator 37
3.2.4 部署Linkerd 38
3.2.5 部署示例服務 41
3.3 Linkerd術語 45
3.4 Linkerd配置 46
3.4.1 配置構成 46
3.4.2 admin 48
3.4.3 namer 48
3.4.4 router 50
3.4.5 telemetry 55
3.4.6 usage 55
3.5 總結 55
第4章 深入Linkerd數據訪問流 56
4.1 dtab詳解 56
4.1.1 dtab定義 56
4.1.2 dtab路由原理 57
4.1.3 示例演示 60
4.2 數據訪問流詳解 62
4.2.1 鑒別 62
4.2.2 綁定 63
4.2.3 解析 64
4.2.4 轉換 64
4.2.5 負載均衡 65
4.3 總結 67
第5章 Linkerd部署模式 68
5.1 Linkerd部署模式 68
5.1.1 Per-host模式 68
5.1.2 Sidecar模式 69
5.1.3 Per-host模式和Sidecar模式 69
5.2 配置模型 70
5.2.1 service-to-linker模型 70
5.2.2 linker-to-service模型 73
5.2.3 linker-to-linker模型 76
5.3 總結 78
第6章 Linkerd控制層:Namerd 79
6.1 Namerd簡介 79
6.2 Namerd和Linkerd 80
6.3 Namerd配置詳解 82
6.3.1 admin配置 82
6.3.2 interface配置 83
6.3.3 storage配置 84
6.3.4 namer配置 85
6.4 連接Linkerd和Namerd 85
6.4.1 準備Namerd配置文件 85
6.4.2 啟動Namerd 86
6.4.3 準備Linkerd配置文件 88
6.4.4 啟動Linkerd 89
6.4.5 示例演示 90
6.5 管理dtab路由 90
6.5.1 Namerd API簡介 90
6.5.2 通過Namerd API管理dtab 91
6.5.3 通過namerctl CLI管理dtab 92
6.6 總結 93
第三部分 實戰篇
第7章 Kubernetes基礎 96
7.1 Kubernetes是什麼 96
7.2 為什麼需要Kubernetes 97
7.3 Kubernetes架構 99
7.4 使用Kubeadm部署Kubernetes集群 100
7.4.1 部署環境準備 100
7.4.2 部署Kubernetes集群 101
7.5 Kubernetes基本概念及資源生命週期管理 108
7.5.1 Container Runtime 108
7.5.2 Container 108
7.5.3 Pod 109
7.5.4 Label 112
7.5.5 RelicaSet 114
7.5.6 Deployment 116
7.5.7 Service 119
7.5.8 DaemonSet 121
7.5.9 ConfigMap和Secret 124
7.6 總結 128
第8章 基於Linkerd和Kubernetes的微服務實踐 129
8.1 部署服務於Kubernetes平臺 130
8.1.1 定義示例服務聲明文件 130
8.1.2 架構預覽 132
8.1.3 部署示例服務 133
8.1.4 驗證 134
8.2 Linkerd作為Kubernetes平臺的Service Mesh工具 135
8.2.1 架構預覽 136
8.2.2 Kubernetes平臺上如何配置Linkerd 137
8.2.3 運行Linkerd 141
8.2.4 部署示例服務 142
8.2.5 驗證 144
8.3 服務間端到端的TLS加密 145
8.3.1 SSL/TLS簡介 146
8.3.2 Linkerd透明TLS 147
8.3.3 架構預覽 150
8.3.4 生成證書 151
8.3.5 配置Linkerd 151
8.3.6 運行Linkerd及示例服務 152
8.3.7 驗證 153
8.4 Linkerd作為Kubernetes的Ingress Controller 155
8.4.1 架構預覽 156
8.4.2 Ingress Identifer簡介 157
8.4.3 配置Lnkerd 158
8.4.4 運行Linkerd及示例服務 160
8.4.5 驗證 160
8.5 Linkerd作為邊界流量入口 164
8.5.1 架構預覽 164
8.5.2 Ingress Controller局限性 165
8.5.3 部署內部Linkerd和示例服務 165
8.5.4 部署邊界Linkerd 166
8.5.5 HAproxy作為邊界Linkerd負載均衡器 167
8.6 Linkerd作為邊界出口 171
8.6.1 架構預覽 172
8.6.2 部署EgressLinkerd 173
8.6.3 部署示例服務 177
8.6.4 部署內部Linkerd 177
8.7 基於Linkerd實現運行時路由 182
8.7.1 運行時單個請求路由 182
8.7.2 基於Namerd實現全域動態路由 185
8.8 總結 198
第9章 開發Linkerd插件 199
9.1 Linkerd模塊開發框架 199
9.2 如何開發自定義插件 202
9.2.1 需求定義 202
9.2.2 環境準備 203
9.2.3 代碼開發 203
9.2.4 編譯 207
9.2.5 安裝 209
9.2.6 驗證 210
9.3 總結 213
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。





