本書基于Kubernetes v1.18,深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想。本書從開發(fā)者和使用者的真實(shí)邏輯出發(fā),逐層剖析Kubernetes項(xiàng)目的核心特性,全面涵蓋集群搭建、容器編排、網(wǎng)絡(luò)、資源管理等核心內(nèi)容,以生動有趣的語言揭示了Kubernetes的設(shè)計(jì)原則和容器編排理念,是一本全面且深入的Kubernetes技術(shù)指南。
1.CNCF TOC成員張磊重磅作品;
2.深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想;
3.近4萬讀者一致好評;
4.基于Kubernetes v1.18。
Kubernetes已成為容器領(lǐng)域當(dāng)之無愧的事實(shí)標(biāo)準(zhǔn)。然而,從過去以物理機(jī)和虛擬機(jī)為主體的開發(fā)運(yùn)維環(huán)境向以容器為核心的基礎(chǔ)設(shè)施的轉(zhuǎn)變過程,涉及對網(wǎng)絡(luò)、存儲、調(diào)度、操作系統(tǒng)、分布式原理等各個方面的容器化理解和改造,很多初學(xué)者和從業(yè)者在面對容器技術(shù)中的種種難題時,要么知識儲備不足,要么知識不成體系。本書即為解決這些難題而作,通過深入剖析Kubernetes的本質(zhì)、核心原理和設(shè)計(jì)思想,幫你打通學(xué)習(xí)容器技術(shù)的“任督二脈”,讓你真正掌握容器技術(shù)體系的精髓。
讀者評價(jià)
“這已經(jīng)是第三遍學(xué)習(xí)了,每一次都有新的體會。對于Kubernetes精髓的總結(jié)太到位了!
“初學(xué)者迷途中的指向標(biāo),干貨滿滿,贊!”
“有趣且循序漸進(jìn),知識體系扎實(shí),從原理到實(shí)踐清晰明了,解析透徹。”
“從使用和原理的角度全面剖析了Kubernetes這個未來之星,講解入木三分,非常超值!
“思路清晰,邏輯嚴(yán)謹(jǐn)。把如此錯綜復(fù)雜的架構(gòu)講得明明白白!
“把復(fù)雜的問題講得如此簡單易懂,這才叫專家!”
張磊,《Docker——容器與容器云》主要作者,CNCF TOC成員,Kubernetes社區(qū)成員與早期項(xiàng)目維護(hù)者,Kubernetes容器運(yùn)行時和集群調(diào)度等多個核心特性的作者之一,長期專注并活躍于容器集群管理和云計(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)程開始說起 17
2.2 隔離與限制 21
2.3 深入理解容器鏡像 27
2.4 重新認(rèn)識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:搭建一個完整的Kubernetes集群 63
4.3 第 一個Kubernetes應(yīng)用 73
第5章 Kubernetes編排原理 82
5.1 為什么我們需要Pod 82
5.2 深入解析Pod對象 91
5.3 Pod對象使用進(jìn)階 96
5.4 編排確實(shí)很簡單:談?wù)劇翱刂破鳌彼枷搿?09
5.5 經(jīng)典PaaS的記憶:作業(yè)副本與水平擴(kuò)展 112
5.6 深入理解StatefulSet(一):拓?fù)錉顟B(tài) 121
5.7 深入理解StatefulSet(二):存儲狀態(tài) 127
5.8 深入理解StatefulSet(三):有狀態(tài)應(yīng)用實(shí)踐 133
5.9 容器化守護(hù)進(jìn)程:DaemonSet 147
5.10 撬動離線業(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存儲原理 217
6.1 持久化存儲:PV和PVC的設(shè)計(jì)與實(shí)現(xiàn)原理 217
6.2 深入理解本地持久化數(shù)據(jù)卷 226
6.3 開發(fā)自己的存儲插件:FlexVolume與CSI 233
6.4 容器存儲實(shí)踐:CSI插件編寫指南 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對象 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ī)制 326
8.5 Kubernetes GPU管理與Device Plugin 機(jī)制 330
第9章 容器運(yùn)行時 335
9.1 幕后英雄:SIG-Node與CRI 335
9.2 解讀CRI與容器運(yùn)行時 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不再“食之無味” 353
10.3 容器日志收集與管理:讓日志無處可逃 358
第 11章 Kubernetes應(yīng)用管理進(jìn)階 366
11.1 再談Kubernetes的本質(zhì)與云原生 366
11.2 聲明式應(yīng)用管理簡介 368
11.3 聲明式應(yīng)用管理進(jìn)階 370
11.4 打造以應(yīng)用為中心的Kubernetes 374
第 12章 Kubernetes開源社區(qū) 378
結(jié)語 Kubernetes:贏開發(fā)者贏天下 382