TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
Kubernetes 網絡權威指南:基礎、原理與實踐(簡體書)
滿額折

Kubernetes 網絡權威指南:基礎、原理與實踐(簡體書)

人民幣定價:89 元
定  價:NT$ 534 元
優惠價:87465
缺貨無法訂購
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

本書是容器與Kubernetes網絡的基礎和進階書籍,旨在讓更多人了解和學習雲原生時代的底層網絡模型與實現機制,指導企業在落地雲原生時的網絡方案選型。

全書共6章,第1章Linux網絡虛擬化將支撐容器網絡的內核技術娓娓道來,第2章簡單介紹了Docker網絡模型,第3章介紹Kubernetes網絡原理與實踐,第4章剖析了Kubernetes網絡實現機制,第5章詳解了業界主流的Kubernetes網絡插件生態,第6章重點解析了Istio網絡流量管控的背後機制。

 

作者簡介

杜軍,浙大SEL實驗室碩士,曾任華為雲架構師、諮詢組專家,容器技術佈道師。開源社區自身貢獻者與維護著,CNCF TOC Contributor,Kubernetes和Istio雙科maintainer,對雲計算技術演進與內在驅動力有深刻見解,主要研究方向為容器、微服務、DevOps、邊緣計算。

名人/編輯推薦

網絡是Kubernetes技術體系中復雜的一環,也體現了Kubernetes獨特的設計理念。本書作者杜軍曾是華為雲原生團隊核心成員,多個Kubernetes社區網絡特性的貢獻者與維護者。本書內容涵蓋Kubernetes基礎容器網絡,4/7層服務發現、路由與註冊管理,以及與服務網格的配合等方面內容,是不可多得的Kubernetes網絡專著,推薦大家閱讀。
——華為雲容器服務總經理,方璞

在Kubernetes技術體系飛速發展的過程中,其在彈性、可用性及可維護性方面日趨成熟,同時在敏捷性、提升研發效率和降低系統複雜度方面也表現卓越。敏捷開發、基礎設施服務化、DevOps、ContainerOps深度融合,這就讓普通開發者也可以快速地進入軟件的構建中,可以讓企業更多地將精力聚焦在應用層邏輯開發中。杜軍是雲原生技術的擁護者,Kubernetes社區核心成員,Kubernetes核心組件、網絡服務的主要代碼貢獻者和維護者之一,也是一位優秀的技術分享者。本書對Kubernetes生態中頗為複雜的網絡體系,從底層基礎原理、概念、理論、關鍵技術點,到容器網絡標準、模型、選型及實踐,進行了深入淺出的論述,值得各位技術從業者仔細閱讀和思考。
——神州優車技術總監,黃強元

本書內容貫穿了整個虛擬網絡演化歷程,不僅探討了容器網絡和Kubernetes網絡模型,更從底層原理到生產實踐、再到源碼解析和故障排查,層層遞進,全方位、全視角地展現了整個雲原生網絡知識體系。容器、etcd、Kubernetes及istio是雲原生技術生態的基石,本書作者杜軍任Kubernetes和Istio項目的maintainer,為這些技術的發展做出了突出貢獻。他也是多部暢銷雲原生技術書籍的作者,是業界認可的雲原生技術專家。相信本書能給廣大讀者帶來全新的知識體驗,提供一場雲原生技術全貌的饕餮盛宴。
——北京虛雲科技總經理,易寶支付前資深架構師,李大偉

雲原生容器技術經過多年的進化和積累,已經被業界廣泛認可,基於容器的技術和方案百花齊放,而網絡也成為容器技術裡難以攻克的一個領域。杜軍對容器和虛擬化網絡有深入的探索和實戰經驗,本書從虛擬化網絡模型、協議、服務網格、DNS、網絡策略、網絡插件生態等方面進行了系統且深入的講解,是虛擬化網絡技術領域技術愛好者的一把利器。
——西雅圖華為雲計算研究所資深架構師,謝海濱

自從Kubernetes被公認為構建平台的平台,無論是上游開源社區還是終端用戶都將越來越多的注意力集中到編排層之上的技術創新。從Istio到Knative,再到OpenKruise,令人興奮的技術創新層出不窮。而本書主題卻有些“反流行”,用三百多頁篇幅,從network namespace一直講到Docker、Kubernetes網絡模型和實現,從底層基礎原理講起,幫助開源技術的愛好者和使用者釐清當下主流容器網絡標準及技術背後的機理,為技術選型和落地提供切實有用的幫助和指導,是對業界當前重上層創新的趨勢的一個很好的補充。
——浙江大學計算機系博士諧雲首席科學家,丁軼群

自序
緣起
這些年來,我觀察到每次Linux世界的重大技術創新都發源於內核,經過一層層面向用戶的抽象和封裝,演化出應用層的森羅萬象。正所謂萬變不離其宗!
我自認為是個“oldschool”(老派)的人,堅信維持這個世界運轉的、最本質的那部分東西是不會輕易改變的。儘管新技術“亂花漸欲迷人眼”,但經歷過時間錘煉的實用技術和工具總是歷久彌新的。一個很好的例子便是傳統的網絡虛擬化和BGP,它們就是在容器這個新瓶子裡煥發第二春的。因此,當有時髦的新技術出現時,我的第一反應是這些新技術底層是怎麼實現的,對那些看起來酷炫的功能反倒沒有興趣。正如OpenStack興起的那些年,當大家都在談論nova、neutron這類調度虛擬機和網絡的組件時,我默默地翻讀了內核虛擬機(KVM)的源碼。至今,我對那種奇妙的感覺記憶猶新,恰如一個發燒級攝影愛好者走進暗房,欣喜若狂地親自手洗一張可觸摸的膠片影像。當我讀懂了KVM時,再回過頭來看OpenStack便有了一種“會當凌絕頂,一覽眾山小”的豁然貫通之感。
工作之餘讓心靜下來,細細品味,認真思考技術的本質——相信這是所有有激情、有夢想的工程師的共同追求。雖然在軟件版本快速迭代的高壓面前,這種良好的追求有時也會變成一種奢求,但是我堅信工程師不能只當一個使用者,而一定要理解當前正在使用的技術的底層實現機制。因此,在我的《雲原生分佈式存儲基石:etcd深入解析》一書中,開篇隻字未提全書主角etcd,而耗費將近80頁的筆墨,從分佈式系統的基本理論一直講到一致性協議Raft。儘管內容看似與這個高速發展、追求快節奏的社會“格格不入”,但我仍希望能夠通過出版技術書這種本身就慢節奏且帶儀式感的行為沈淀自己的思考。如果能夠跟有緣的讀者碰撞出思想的火花,則將是我人生的一大幸事!
我為什麼寫這本書
雲計算的世界裡,計算最基礎,存儲最重要,網絡最複雜。在Kubernetes已經成為雲原生代名詞的今天,市面上介紹Kubernetes的書籍已經很多,然而限於篇幅或術業有專攻等諸多主客觀因素,不少書籍對Kubernetes網絡部分的講解只是蜻蜓點水,甚至有些還存在專業性的錯誤。我經常在一些學習Kubernetes的論壇和群裡看到有用戶抱怨:傳統網絡架構都還沒搞明白,又要理解容器網絡。容器網絡領域不但存在大量的術語,而且理解具體的方案需要不少前置知識,這無形中增加了學習的難度。計算機網絡是我在大學裡最喜歡,也是最擅長的一門課程。在我看來,計算機網絡趣味性強,而且對邏輯性和動手能力要求較高。看到整個雲原生網絡領域正發生著激動人心的技術變革,意義不亞於上一次SDN興起帶來的衝擊,我感覺這對傳統網絡工程師來說會是一次自我升級轉型的契機。於是,我萌生了專門為Docker、Kubernetes的用戶,以及傳統網絡工程師撰寫一本雲原生網絡書籍的想法,破除他們學習過程中“不識廬山真面目,只緣身在此山中”的無力感。
關於本書
雖然書名是《Kubernetes網絡權威指南:基礎、原理與實踐》,但全書內容並不局限於Kubernetes。我對本書的定位是雲原生領域的網絡權威指南,企業落地方案的選型參考。按照我“oldschool”的思路,本書特別注重提供理解容器網絡所必需的基礎知識,會由淺入深地從架構、使用、實現原理等多方面展開,試圖為讀者呈現整個雲原生網絡的知識體系。
全書的脈絡是:以Linux網絡虛擬化基礎作為“暖場嘉賓”,以Docker原生的容器網絡“承前啟後”,隨後是主角Kubernetes網絡“粉墨登場”,在各類CNI插件“沙場點兵”過後,以代表容器下半場的服務網格Istio“謝幕”。
王安石在登上飛來峰後曾吟下“不畏浮雲遮望眼,自緣身在最高層”這樣的千古佳句。希望本書能夠成為雲計算2.0時代的弄潮兒們叩開網絡大門的敲門磚,在解決各類場景下錯綜複雜的問題時能夠做到“口中有糧、心中不慌”。不論是定位疑難雜症,還是技術選型,抑或是定制化開發都能輕鬆駕馭!
“人生不止眼前的苟且,還有詩和遠方的田野”,願更多的同路人加入。
杜軍
2019年8月於廈門鼓浪嶼

目次

第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內核實現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 給用戶態一個機會: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的常規武器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協議原理簡介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 發布服務90

2.3.7 docker link:兩兩互聯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 天生不易:容器組網的挑戰99

2.5.1 容器網絡挑戰綜述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跨節點組網模型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 網絡生態第一步:CNI 133

3.5 找到你並不容易:從集群內訪問服務139

3.5.1 Kubernetes Service詳解141

3.5.2 Service的三個port 145

3.5.3 你的服務適合哪種發布形式146

3.5.4 Kubernetes Service發現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轉發和橋接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網絡實現機制183

4.1 豈止iptables:Kubernetes Service官方實現細節探秘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網絡插件生態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實現原理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優化的數據平面性能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典型實現之Linkerd 310

6.2 Istio:引領新一代微服務架構潮流312

6.2.1 Istio簡介312

6.2.2 Istio安裝313

6.2.3 Istio路由規則的實現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

 

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區