前言
第一部分 基礎篇
第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
· · · · · · (
收起)