本書(shū)基于Kubernetes v1.18,深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想。本書(shū)從開(kāi)發(fā)者和使用者的真實(shí)邏輯出發(fā),逐層剖析Kubernetes項(xiàng)目的核心特性,全面涵蓋集群搭建、容器編排、網(wǎng)絡(luò)、資源管理等核心內(nèi)容,以生動(dòng)有趣的語(yǔ)言揭示了Kubernetes的設(shè)計(jì)原則和容器編排理念,是一本全面且深入的Kubernetes技術(shù)指南。
1.CNCF TOC成員張磊重磅作品;
2.深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想;
3.近4萬(wàn)讀者一致好評(píng);
4.基于Kubernetes v1.18。
Kubernetes已成為容器領(lǐng)域當(dāng)之無(wú)愧的事實(shí)標(biāo)準(zhǔn)。然而,從過(guò)去以物理機(jī)和虛擬機(jī)為主體的開(kāi)發(fā)運(yùn)維環(huán)境向以容器為核心的基礎(chǔ)設(shè)施的轉(zhuǎn)變過(guò)程,涉及對(duì)網(wǎng)絡(luò)、存儲(chǔ)、調(diào)度、操作系統(tǒng)、分布式原理等各個(gè)方面的容器化理解和改造,很多初學(xué)者和從業(yè)者在面對(duì)容器技術(shù)中的種種難題時(shí),要么知識(shí)儲(chǔ)備不足,要么知識(shí)不成體系。本書(shū)即為解決這些難題而作,通過(guò)深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想,幫你打通學(xué)習(xí)容器技術(shù)的“任督二脈”,讓你真正掌握容器技術(shù)體系的精髓。
讀者評(píng)價(jià)
“這已經(jīng)是第三遍學(xué)習(xí)了,每一次都有新的體會(huì)。對(duì)于Kubernetes精髓的總結(jié)太到位了。”
“初學(xué)者迷途中的指向標(biāo),干貨滿滿,贊!”
“有趣且循序漸進(jìn),知識(shí)體系扎實(shí),從原理到實(shí)踐清晰明了,解析透徹!
“從使用和原理的角度全面剖析了Kubernetes這個(gè)未來(lái)之星,講解入木三分,非常超值!
“思路清晰,邏輯嚴(yán)謹(jǐn)。把如此錯(cuò)綜復(fù)雜的架構(gòu)講得明明白白!
“把復(fù)雜的問(wèn)題講得如此簡(jiǎn)單易懂,這才叫專(zhuān)家!”
張磊,《Docker——容器與容器云》主要作者,CNCF TOC成員,Kubernetes社區(qū)成員與早期項(xiàng)目維護(hù)者,Kubernetes容器運(yùn)行時(shí)和集群調(diào)度等多個(gè)核心特性的作者之一,長(zhǎng)期專(zhuān)注并活躍于容器集群管理和云計(jì)算領(lǐng)域。
前言 iii
第 1章 背景回顧:云原生大事記 2
1.1 初出茅廬 2
1.2 嶄露頭角 6
1.3 群雄并起 8
1.4 塵埃落定 11
第 2章 容器技術(shù)基礎(chǔ) 17
2.1 從進(jìn)程開(kāi)始說(shuō)起 17
2.2 隔離與限制 21
2.3 深入理解容器鏡像 27
2.4 重新認(rèn)識(shí)Linux容器 36
第3章 Kubernetes設(shè)計(jì)與架構(gòu) 47
3.1 Kubernetes核心設(shè)計(jì)與架構(gòu) 47
3.2 Kubernetes核心能力與項(xiàng)目定位 51
第4章 Kubernetes集群搭建與配置 56
4.1 Kubernetes部署利器:kubeadm 56
4.2 從0到1:搭建一個(gè)完整的Kubernetes集群 63
4.3 第 一個(gè)Kubernetes應(yīng)用 73
第5章 Kubernetes編排原理 82
5.1 為什么我們需要Pod 82
5.2 深入解析Pod對(duì)象 91
5.3 Pod對(duì)象使用進(jìn)階 96
5.4 編排確實(shí)很簡(jiǎn)單:談?wù)劇翱刂破鳌彼枷搿?09
5.5 經(jīng)典PaaS的記憶:作業(yè)副本與水平擴(kuò)展 112
5.6 深入理解StatefulSet(一):拓?fù)錉顟B(tài) 121
5.7 深入理解StatefulSet(二):存儲(chǔ)狀態(tài) 127
5.8 深入理解StatefulSet(三):有狀態(tài)應(yīng)用實(shí)踐 133
5.9 容器化守護(hù)進(jìn)程:DaemonSet 147
5.10 撬動(dòng)離線業(yè)務(wù):Job與CronJob 156
5.11 聲明式API與Kubernetes編程范式 166
5.12 聲明式API的工作原理 175
5.13 API編程范式的具體原理 185
5.14 基于角色的權(quán)限控制:RBAC 196
5.15 聰明的微創(chuàng)新:Operator 工作原理解讀 204
第6章 Kubernetes存儲(chǔ)原理 217
6.1 持久化存儲(chǔ):PV和PVC的設(shè)計(jì)與實(shí)現(xiàn)原理 217
6.2 深入理解本地持久化數(shù)據(jù)卷 226
6.3 開(kāi)發(fā)自己的存儲(chǔ)插件:FlexVolume與CSI 233
6.4 容器存儲(chǔ)實(shí)踐:CSI插件編寫(xiě)指南 242
第7章 Kubernetes網(wǎng)絡(luò)原理 253
7.1 單機(jī)容器網(wǎng)絡(luò)的實(shí)現(xiàn)原理 253
7.2 深入解析容器跨主機(jī)網(wǎng)絡(luò) 260
7.3 Kubernetes網(wǎng)絡(luò)模型與CNI網(wǎng)絡(luò)插件 268
7.4 解讀Kubernetes三層網(wǎng)絡(luò)方案 276
7.5 Kubernetes中的網(wǎng)絡(luò)隔離:NetworkPolicy 285
7.6 找到容器不容易:Service、DNS與服務(wù)發(fā)現(xiàn) 293
7.7 從外界連通Service與Service 調(diào)試“三板斧” 299
7.8 Kubernetes中的Ingress對(duì)象 304
第8章 Kubernetes調(diào)度與資源管理 312
8.1 Kubernetes的資源模型與資源管理 312
8.2 Kubernetes的默認(rèn)調(diào)度器 317
8.3 Kubernetes默認(rèn)調(diào)度器調(diào)度策略解析 321
8.4 Kubernetes默認(rèn)調(diào)度器的優(yōu)先級(jí)和搶占機(jī)制 326
8.5 Kubernetes GPU管理與Device Plugin 機(jī)制 330
第9章 容器運(yùn)行時(shí) 335
9.1 幕后英雄:SIG-Node與CRI 335
9.2 解讀CRI與容器運(yùn)行時(shí) 339
9.3 絕不僅僅是安全:Kata Containers與gVisor 343
第 10章 Kubernetes監(jiān)控與日志 349
10.1 Prometheus、Metrics Server與Kubernetes監(jiān)控體系 349
10.2 Custom Metrics:讓Auto Scaling不再“食之無(wú)味” 353
10.3 容器日志收集與管理:讓日志無(wú)處可逃 358
第 11章 Kubernetes應(yīng)用管理進(jìn)階 366
11.1 再談Kubernetes的本質(zhì)與云原生 366
11.2 聲明式應(yīng)用管理簡(jiǎn)介 368
11.3 聲明式應(yīng)用管理進(jìn)階 370
11.4 打造以應(yīng)用為中心的Kubernetes 374
第 12章 Kubernetes開(kāi)源社區(qū) 378
結(jié)語(yǔ) Kubernetes:贏開(kāi)發(fā)者贏天下 382