定 價:¥89.00
作 者: | 杜軍 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121373398 | 出版時間: | 2019-11-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數: | 348 | 字數: |
第1章夯實基礎:Linux網絡虛擬化 1
1.1 網絡虛擬化基石:network namespace 1
1.1.1 初識network namespace 2
1.1.2 配置network namespace 3
1.1.3 network namespace API的使用 6
1.1.4 小結 12
1.2 千呼萬喚始出來:veth pair 12
1.2.1 veth pair內核實現(xiàn) 14
1.2.2 容器與host veth pair的關系 15
1.2.3 小結 17
1.3 連接你我他:Linux bridge 17
1.3.1 Linux bridge初體驗 17
1.3.2 把IP讓給Linux bridge 21
1.3.3 將物理網卡添加到Linux bridge 22
1.3.4 Linux bridge在網絡虛擬化中的應用 25
1.3.5 網絡接口的混雜模式 26
1.4 給用戶態(tài)一個機會:tun/tap設備 28
1.4.1 tun/tap設備的工作原理 28
1.4.2 利用tun設備部署一個VPN 29
1.4.3 tun設備編程 31
1.5 iptables 34
1.5.1 祖師爺netfilter 34
1.5.2 iptables的三板斧:table、chain和rule 36
1.5.3 iptables的常規(guī)武器 39
1.6 初識 Linux 隧道:ipip 45
1.6.1 測試ipip隧道 46
1.6.2 ipip隧道測試結果復盤 49
1.6.3 小結 50
1.7 Linux 隧道網絡的代表:VXLAN 51
1.7.1 為什么需要VXLAN 51
1.7.2 VXLAN協(xié)議原理簡介 52
1.7.3 VXLAN組網必要信息 54
1.7.4 VXLAN基本配置命令 55
1.7.5 VXLAN網絡實踐 56
1.7.6 分布式控制中心 63
1.7.7 自維護VTEP組 63
1.7.8 小結 68
1.8 物理網卡的分身術:Macvlan 68
1.8.1 Macvlan五大工作模式解析 68
1.8.2 測試使用Macvlan設備 72
1.8.3 Macvlan的跨機通信 73
1.8.4 Macvlan與overlay對比 74
1.8.5 小結 75
1.9 Macvlan的救護員:IPvlan 75
1.9.1 IPvlan簡介 75
1.9.2 測試IPvlan 77
1.9.3 Docker IPvlan網絡 78
1.9.4 小結 78
第2章 飲水思源:Docker網絡模型簡介 79
2.1 主角登場:Linux容器 79
2.1.1 容器是什么 79
2.1.2 容器與虛擬機對比 80
2.1.3 小結 81
2.2 打開萬花筒:Docker的四大網絡模式 81
2.2.1 bridge模式 82
2.2.2 host模式 83
2.2.3 container模式 84
2.2.4 none模式 85
2.3 最常用的Docker網絡技巧 85
2.3.1 查看容器IP 85
2.3.2 端口映射 86
2.3.3 訪問外網 84
2.3.4 DNS和主機名 87
2.3.5 自定義網絡 88
2.3.6 發(fā)布服務 90
2.3.7 docker link:兩兩互聯(lián) 91
2.4 容器網絡的第一個標準:CNM 93
2.4.1 CNM標準 93
2.4.2 體驗CNM接口 94
2.4.3 Libnetwork 95
2.4.4 Libnetwork擴展 97
2.4.5 小結 98
2.5 天生不易:容器組網的挑戰(zhàn) 99
2.5.1 容器網絡挑戰(zhàn)綜述 99
2.5.2 Docker的解決方案 101
2.5.3 第三方容器網絡插件 102
2.5.4 小結 103
2.6 如何做好技術選型:容器組網方案沙場點兵 103
2.6.1 隧道方案 104
2.6.2 路由方案 104
2.6.3 容器網絡組網類型 106
2.6.4 關于容器網絡標準接口 107
2.6.5 小結 108
第 3 章 標準的勝利:Kubernetes 網絡原理與實踐 109
3.1 容器基礎設施的代言人:Kubernetes 109
3.1.1 Kubernetes簡介 109
3.1.2 Kubernetes能做什么 111
3.1.3 如何用Kubernetes 113
3.1.4 Docker在Kubernetes中的角色 113
3.2 終于等到你:Kubernetes網絡 114
3.2.1 Kubernetes網絡基礎 114
3.2.2 Kubernetes網絡架構綜述 115
3.2.3 Kubernetes主機內組網模型 117
3.2.4 Kubernetes跨節(jié)點組網模型 118
3.2.5 Pod的hosts文件 120
3.2.6 Pod的hostname 121
3.3 Pod的核心:pause容器 124
3.4 打通CNI與Kubernetes:Kubernetes網絡驅動 131
3.4.1 即將完成歷史使命:Kubenet 131
3.4.2 網絡生態(tài)第一步:CNI 133
3.5 找到你并不容易:從集群內訪問服務 139
3.5.1 Kubernetes Service詳解 141
3.5.2 Service的三個port 145
3.5.3 你的服務適合哪種發(fā)布形式 146
3.5.4 Kubernetes Service發(fā)現(xiàn) 150
3.5.5 特殊的無頭Service 151
3.5.6 怎么訪問本地服務 153
3.6 找到你并不容易:從集群外訪問服務 154
3.6.1 Kubernetes Ingress 155
3.6.2 小結 157
3.7 你的名字:通過域名訪問服務 158
3.7.1 DNS服務基本框架 158
3.7.2 域名解析基本原理 159
3.7.3 DNS使用 161
3.7.4 調試DNS 166
3.8 Kubernetes網絡策略:為你的應用保駕護航 167
3.8.1 網絡策略應用舉例 168
3.8.2 小結 172
3.9 前方高能:Kubernetes網絡故障定位指南 173
3.9.1 IP轉發(fā)和橋接 173
3.9.2 Pod CIDR沖突 175
3.9.3 hairpin 176
3.9.4 查看Pod IP地址 176
3.9.5 故障排查工具 178
3.9.6 為什么不推薦使用SNAT 180
第 4 章 刨根問底:Kubernetes網絡實現(xiàn)機制 183
4.1 豈止iptables:Kubernetes Service官方實現(xiàn)細節(jié)探秘 183
4.1.1 userspace模式 184
4.1.2 iptables模式 186
4.1.3 IPVS模式 191
4.1.4 iptables VS. IPVS 198
4.1.5 conntrack 199
4.1.6 小結 200
4.2 Kubernetes極客們的日常:DIY一個Ingress Controller 201
4.2.1 Ingress Controller的通用框架 202
4.2.2 Nginx Ingress Controller詳解 202
4.2.3 小結 209
4.3 滄海桑田:Kubernetes DNS架構演進之路 209
4.3.1 Kube-dns的工作原理 209
4.3.2 上位的CoreDNS 212
4.3.3 Kube-dns VS. CoreDNS 217
4.3.4 小結 220
4.4 你的安全我負責:使用Calico提供Kubernetes網絡策略 220
4.4.1 部署一個帶Calico的Kubernetes集群 221
4.4.2 測試Calico網絡策略 225
第5章 百花齊放:Kubernetes網絡插件生態(tài) 228
5.1 從入門到放棄:Docker原生網絡的不足 228
5.2 CNI標準的勝出:從此江湖沒有CNM 229
5.2.1 CNI與CNM的轉換 230
5.2.2 CNI的工作原理 231
5.2.3 為什么Kubernetes不使用Libnetwork 235
5.3 Kubernetes網絡插件鼻祖flannel 238
5.3.1 flannel簡介 239
5.3.2 flannel安裝配置 241
5.3.3 flannel backend詳解 244
5.3.4 flannel與etcd 256
5.3.5 小結 257
5.4 全能大三層網絡插件:Calico 257
5.4.1 Calico簡介 258
5.4.2 Calico的隧道模式 263
5.4.3 安裝Calico 263
5.4.4 Calico報文路徑 264
5.4.5 Calico使用指南 267
5.4.6 為什么Calico網絡選擇BGP 272
5.4.7 小結 274
5.5 Weave:支持數據加密的網絡插件 276
5.5.1 Weave簡介 276
5.5.2 Weave實現(xiàn)原理 277
5.5.3 Weave安裝 278
5.5.4 Weave網絡通信模型 280
5.5.5 Weave的應用示例 282
5.5.6 小結 288
5.6 Cilium:為微服務網絡連接安全而生 288
5.6.1 為什么使用Cilium 289
5.6.2 以API為中心的微服務安全 294
5.6.3 BPF優(yōu)化的數據平面性能 295
5.6.4 試用Cilium:網絡策略 297
5.6.5 小結 299
5.7 Kubernetes多網絡的先行者:CNI-Genie 299
5.7.1 為什么需要CNI-Genie 300
5.7.2 CNI-Genie功能速遞 302
5.7.3 容器多IP 303
第6章 Kubernetes網絡下半場:Istio 305
6.1 微服務架構的大地震:sidecar模式 305
6.1.1 你真的需要 Service Mesh嗎 306
6.1.2 sidecar模式 307
6.1.3 Service Mesh與sidecar 307
6.1.4 Kubernetes Service VS. Service Mesh 309
6.1.5 Service Mesh典型實現(xiàn)之Linkerd 310
6.2 Istio:引領新一代微服務架構潮流 312
6.2.1 Istio簡介 312
6.2.2 Istio安裝 313
6.2.3 Istio路由規(guī)則的實現(xiàn) 317
6.3 一切盡在不言中:Istio sidecar透明注入 319
6.3.1 Init容器 319
6.3.2 sideca注入示例 319
6.3.3 手工注入sidecar 326
6.3.4 自動注入sidecar 327
6.3.5 從應用容器到sidecar代理的通信 329
6.4 不再為iptables腳本所困:Istio CNI插件 330
6.5 除了微服務,Istio還能做更多 331