3dwoo大學簡體電腦書店
Kubernetes進階實戰(第2版)
( 簡體 字)
作者:馬永亮 著類別:1. -> 程式設計 -> 綜合
出版社:機械工業出版社Kubernetes進階實戰(第2版) 3dWoo書號: 54028
詢問書籍請說出此書號!
有庫存
NT售價: 745
出版日:2/1/2021
頁數:650
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111671862 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第一部分 系統基礎
第1章 Kubernetes系統基礎2
1.1 容器與容器編排系統3
1.1.1 Docker容器技術3
1.1.2 OCI與容器運行時5
1.1.3 為什么需要容器編排系統7
1.2 Kubernetes基礎8
1.2.1 Kubernetes集群概述9
1.2.2 Kubernetes集群架構11
1.3 應用的運行與互聯互通14
1.3.1 Pod與Service15
1.3.2 Pod控制器16
1.3.3 Kubernetes網絡基礎18
1.3.4 部署并訪問應用20
1.4 簡析Kubernetes生態系統21
1.5 本章小結23
第2章 Kubernetes快速入門24
2.1 利用kubeadm部署Kubernetes集群24
2.1.1 kubeadm部署工具25
2.1.2 集群組件運行模式26
2.1.3 kubeadm init工作流程28
2.1.4 kubeadm join工作流程31
2.1.5 kubeadm配置文件33
2.2 部署分布式Kubernetes集群34
2.2.1 準備基礎環境34
2.2.2 單控制平面集群38
2.3 kubectl命令與資源管理43
2.3.1 資源管理的操作44
2.3.2 kubectl的命令格式45
2.3.3 kubectl命令常用操作示例47
2.3.4 kubectl插件50
2.4 命令式應用編排52
2.4.1 應用編排53
2.4.2 部署Service對象56
2.4.3 擴容與縮容58
2.4.4 修改與刪除對象60
2.5 本章小結61
第二部分 核心資源
第3章 Kubernetes資源管理64
3.1 資源對象與API群組64
3.1.1 Kubernetes的資源對象65
3.1.2 資源及其在API中的組織形式68
3.1.3 訪問Kubernetes RESTful API70
3.2 對象類資源配置規范72
3.2.1 定義資源對象73
3.2.2 對象元數據74
3.2.3 資源的期望狀態75
3.2.4 獲取資源配置清單格式文檔75
3.2.5 資源對象管理方式77
3.3 名稱空間79
3.3.1 名稱空間的作用80
3.3.2 管理Namespace資源81
3.4 節點資源86
3.4.1 節點心跳與節點租約86
3.4.2 節點狀態87
3.4.3 手動管理Node資源與節點89
3.5 標簽與標簽選擇器91
3.5.1 資源標簽91
3.5.2 標簽選擇器93
3.6 資源注解94
3.7 本章小結96
第4章 應用部署、運行與管理97
4.1 應用容器與Pod資源97
4.1.1 Pod資源基礎97
4.1.2 容器設計模式99
4.1.3 Pod的生命周期104
4.2 在Pod中運行應用105
4.2.1 使用單容器Pod資源106
4.2.2 獲取Pod與容器狀態詳情107
4.2.3 自定義容器應用與參數110
4.2.4 容器環境變量111
4.2.5 Pod的創建與刪除過程112
4.3 暴露容器服務115
4.3.1 其他容器端口映射115
4.3.2 配置Pod使用節點網絡117
4.4 容器安全上下文118
4.4.1 配置格式速覽119
4.4.2 管理容器進程的運行身份120
4.4.3 管理容器的內核功能121
4.4.4 特權模式容器123
4.4.5 在Pod上使用sysctl124
4.5 容器應用的管理接口125
4.5.1 健康狀態監測接口126
4.5.2 容器存活狀態檢測127
4.5.3 Pod的重啟策略133
4.5.4 容器就緒狀態檢測133
4.5.5 容器生命周期135
4.6 多容器Pod138
4.6.1 初始化容器138
4.6.2 Sidecar容器140
4.7 資源需求與資源限制142
4.7.1 資源需求與限制142
4.7.2 容器資源需求143
4.7.3 容器資源限制145
4.7.4 容器可見資源146
4.7.5 Pod服務質量類別147
4.8 綜合應用案例149
4.9 本章小結150
第5章 存儲卷與數據持久化152
5.1 存儲卷基礎152
5.1.1 存儲卷概述152
5.1.2 配置Pod存儲卷154
5.2 臨時存儲卷156
5.2.1 emptyDir存儲卷156
5.2.2 gitRepo存儲卷158
5.3 hostPath存儲卷159
5.4 網絡存儲卷161
5.4.1 NFS存儲卷162
5.4.2 RBD存儲卷164
5.4.3 CephFS存儲卷167
5.4.4 GlusterFS存儲卷169
5.5 持久存儲卷171
5.5.1 PV與PVC基礎172
5.5.2 PV的生命周期173
5.5.3 靜態PV資源175
5.5.4 PVC資源178
5.5.5 在Pod中使用PVC181
5.5.6 存儲類181
5.6 容器存儲接口CSI187
5.6.1 CSI基礎187
5.6.2 Longhorn存儲系統189
5.7 本章小結194
第6章 應用配置195
6.1 容器化應用配置195
6.1.1 容器化應用配置的常見方式195
6.1.2 容器環境變量197
6.2 應用程序配置管理與ConfigMap資源199
6.2.1 創建ConfigMap對象200
6.2.2 通過環境變量引用ConfigMap鍵值203
6.2.3 ConfigMap存儲卷206
6.2.4 容器應用重載新配置211
6.3 Secret資源:向容器注入配置信息213
6.3.1 創建Secret資源213
6.3.2 使用Secret資源219
6.4 應用Downward API存儲卷配置信息223
6.4.1 環境變量式元數據注入223
6.4.2 存儲卷式元數據注入226
6.5 本章小結228
第7章 Service與服務發現229
7.1 Service資源及其實現模型229
7.1.1 Service資源概述229
7.1.2 kube-proxy代理模型230
7.1.3 Service資源類型233
7.2 應用Service資源235
7.2.1 應用ClusterIP Service資源236
7.2.2 應用NodePort Service資源238
7.2.3 應用LoadBalancer Service資源240
7.2.4 外部IP241
7.3 Service與Endpoint資源242
7.3.1 Endpoint與容器探針243
7.3.2 自定義Endpoint資源245
7.4 深入理解Service資源247
7.4.1 iptables代理模型247
7.4.2 ipvs代理模型255
7.5 Kubernetes服務發現258
7.5.1 服務發現概述258
7.5.2 基于環境變量的服務發現259
7.5.3 基于DNS的服務發現260
7.5.4 Pod的DNS解析策略與配置263
7.5.5 配置CoreDNS264
7.6 Headless Service資源解析266
7.6.1 ExternalName Service266
7.6.2 Headless Service267
7.7 本章小結270
第8章 應用編排與管理271
8.1 Kubernetes控制器基礎271
8.1.1 控制器與Pod資源272
8.1.2 Pod模板資源275
8.2 ReplicaSet控制器276
8.2.1 功能分析276
8.2.2 ReplicaSet基礎應用277
8.2.3 應用更新與回滾280
8.2.4 應用擴容與縮容285
8.2.5 高級更新策略286
8.3 Deployment控制器291
8.3.1 Deployment基礎應用291
8.3.2 Deployment更新策略294
8.3.3 應用更新與回滾296
8.3.4 金絲雀發布298
8.4 StatefulSet控制器300
8.4.1 功能分析300
8.4.2 StatefulSet基礎應用302
8.4.3 擴縮容與滾動更新306
8.4.4 StatefulSet的局限性309
8.5 DaemonSet控制器310
8.5.1 DaemonSet資源基礎應用311
8.5.2 DaemonSet更新策略313
8.6 Job控制器314
8.6.1 Job資源基礎應用315
8.6.2 并行式Job與擴容機制318
8.7 CronJob控制器319
8.8 Pod中斷預算321
8.9 本章小結324
第三部分 安全
第9章 認證、授權與準入控制326
9.1 Kubernetes訪問控制326
9.1.1 用戶賬戶與用戶組327
9.1.2 認證、授權與準入控制基礎328
9.1.3 測試使用API Server的訪問控制機制332
9.2 ServiceAccount及認證336
9.2.1 ServiceAccount自動化336
9.2.2 ServiceAccount基礎應用338
9.2.3 Pod資源上的服務賬戶340
9.3 X509數字證書認證342
9.3.1 Kubernetes的X509數字證書認證體系343
9.3.2 TLS Bootstrapping機制347
9.4 kubeconfig配置文件348
9.4.1 kubeconfig文件格式348
9.4.2 自定義kubeconfig文件350
9.4.3 X509數字證書身份憑據353
9.4.4 多kubeconfig文件與合并354
9.5 基于角色的訪問控制:RBAC355
9.5.1 RBAC授權模型356
9.5.2 Role與ClusterRole358
9.5.3 RoleBinding與ClusterRole-Binding361
9.5.4 聚合型ClusterRole364
9.5.5 面向用戶的內置ClusterRole366
9.6 認證與權限應用案例:Dashboard368
9.6.1 部署Dashboard368
9.6.2 認證與授權370
9.7 準入控制器372
9.7.1 準入控制器概述372
9.7.2 LimitRange373
9.7.3 ResourceQuota377
9.7.4 PodSecurityPolicy379
9.8 本章小結386
第10章 網絡模型與網絡策略387
10.1 容器網絡模型387
10.1.1 容器網絡通信模式387
10.1.2 CNI網絡插件基礎391
10.1.3 Overlay網絡模型394
10.1.4 Underlay網絡模型396
10.1.5 配置CNI插件400
10.1.6 CNI插件與選型404
10.2 Flannel網絡插件406
10.2.1 Flannel配置基礎406
10.2.2 VXLAN后端408
10.2.3 直接路由412
10.2.4 host-gw后端414
10.3 Calico網絡插件416
10.3.1 Calico架構417
10.3.2 Calico配置基礎419
10.3.3 IPIP隧道網絡421
10.3.4 客戶端工具calicoctl424
10.3.5 BGP網絡與BGP Reflector426
10.4 網絡策略430
10.4.1 網絡策略與配置基礎431
10.4.2 管控入站流量433
10.4.3 管控出站流量436
10.4.4 隔離名稱空間438
10.4.5 Calico的網絡策略439
10.5 本章小結441
第四部分 進階
第11章 Pod資源調度444
11.1  Kubernetes調度器444
11.1.1 調度器基礎445
11.1.2 經典調度策略449
11.1.3 調度器插件454
11.1.4 配置調度器456
11.2 節點親和調度461
11.2.1 Pod節點選擇器462
11.2.2 強制節點親和463
11.2.3 首選節點親和465
11.3 Pod親和調度467
11.3.1 位置拓撲468
11.3.2 Pod間的強制親和469
11.3.3 Pod間的首選親和471
11.3.4 Pod間的反親和關系473
11.4 節點污點與Pod容忍度475
11.4.1 污點與容忍度基礎概念475
11.4.2 定義污點477
11.4.3 定義容忍度478
11.4.4 問題節點標識479
11.5 拓撲分布式調度480
11.6 Pod優先級與搶占481
11.7 本章小結483
第12章 Kubernetes系統擴展484
12.1 CRD484
12.1.1 CRD 基礎應用485
12.1.2 打印字段與資源類別488
12.1.3 CRD子資源489
12.1.4 CRD v1beta1版本491
12.2 自定義API Server492
12.2.1 自定義API Server運行機制493
12.2.2 APIService資源與應用494
12.3 控制器與Operator496
12.3.1 自定義控制器的工作機制496
12.3.2 Operator與簡單應用示例500
12.4 Kubernetes集群高可用503
12.4.1 etcd高可用與控制平面拓撲503
12.4.2 Controller Manager與Scheduler高可用505
12.4.3 部署高可用控制平面506
12.5 本章小結508
第13章 Ingress與服務發布509
13.1  Ingress資源509
13.1.1 Ingress與Ingress控制器流量轉發509
13.1.2 Ingress資源規范511
13.1.3 Ingress資源類型515
13.2 Ingress控制器部署與應用517
13.2.1 Ingress Nginx部署與測試518
13.2.2 配置Ingress Nginx522
13.2.3 Ingress資源案例:發布Dashboard524
13.3 Contour控制器525
13.3.1 Envoy數據平面525
13.3.2 部署Contour529
13.3.3 HTTPProxy基礎532
13.3.4 HTTPProxy高級路由533
13.3.5 HTTPProxy服務韌性539
13.3.6 TCP代理542
13.4 本章小結544
第五部分 必備生態組件
第14章 應用管理546
14.1 Kustomize聲明式應用管理546
14.1.1 聲明式應用管理基本用法547
14.1.2 應用配置分解549
14.1.3 配置生成器551
14.1.4 資源補丁553
14.2 Helm基礎應用556
14.2.1 Helm基礎556
14.2.2 Helm 3 快速入門558
14.3 Helm Chart562
14.3.1 Chart包結構與描述文件562
14.3.2 Chart中的依賴關系564
14.3.3 模板與值565
14.3.4 其他需要說明的話題567
14.3.5 自定義Chart簡單示例568
14.4 Helm實踐:部署Harbor注冊中心575
14.4.1 部署方案與配置方式577
14.4.2 Harbor部署與測試582
14.5 本章小結585
第15章 資源指標與集群監控586
15.1 資源監控與資源指標586
15.1.1 資源監控與Heapster587
15.1.2 新一代監控體系與指標系統589
15.2 資源指標與應用591
15.2.1 部署Metrics Server591
15.2.2 顯示資源使用信息595
15.3 自定義指標與Prometheus596
15.3.1 Prometheus基礎597
15.3.2 Prometheus核心概念601
15.3.3 Prometheus查詢語言604
15.3.4 監控Kubernetes606
15.3.5 自定義指標適配器616
15.4 自動彈性縮放621
15.4.1 HPA控制器概述622
15.4.2 HPA v1控制器622
15.4.3 HPA v2控制器624
15.5 本章小結629
第16章 集群日志系統630
16.1 集群日志系統基礎630
16.1.1 日志系統概述631
16.1.2 Elasticsearch基礎633
16.2 EFK日志管理系統636
16.2.1 Elasticsearch集群637
16.2.2 日志采集器Fluent Bit642
16.2.3 可視化組件Kibana647
16.3 本章小結650
本書分為5大部分,共16章。

系統基礎(第1~2章),介紹Kubernetes系統基礎概念及基本應用,如系統功能、系統組件與應用模型,以及分布式集群的部署模式與步驟,以幫助讀者快速入門。

核心資源(第3~8章),介紹核心資源類型及其應用,涵蓋資源管理模型與管理接口,容器設計模式與Pod資源,存儲卷資源,應用配置相關的ConfigMap和Secret資源,Service資源和基于CoreDNS的服務發現機制,以及用于編排Pod的控制器等多種資源,其中重點講解了ReplicaSet、Deployment、DaemonSet和StatefulSet等資源。

安全(第9~10章),重點講解各種認證方式與授權插件,準入控制器(LimitRange、ResourceQuota和PodSecurityPolicy),Calico(IPIP和BGP模型)的原理與應用,以及網絡策略的實現與應用等。

進階(第11~13章),主要介紹調度框架和調度插件、資源擴展和路由網關等,涵蓋Pod資源經典調度策略,新式調度框架、插件以及系統資源的多種擴展方式(自定義資源類型與對象、自定義API與控制器、Master節點高可用),Ingress資源與實現、Ingress Nginx配置與應用案例,以及基于Contour的高級應用發布和流量管理機制(如藍綠部署、流量遷移、流量鏡像、超時和重試等)。

必備生態組件(第14~16章),重點介紹Kubernetes的必備生態組件,如大規模應用部署管理工具Kustomize與Helm,Prometheus監控系統和統一日志收集及管理工具棧EFK等。



本書旨在深入講解Kubernetes系統及其組件的原理性知識,以動手實踐貫穿始終。本書涵蓋了應用Kubernetes系統的主流的知識點,甚至可以作為考取CKA認證的配套參考書。

本書第2版全面升級,更前沿、更實用!

增加了對kubectl插件、Kustomize、CNI、CSI及新版本調度框架等內容的講解。

擴充了對Service和Ingress的講解,各用一章詳細介紹。

在各知識點的講解順序及內容編排上進行了大幅度調整,而且對不少章節進行了大范圍重寫。
為什么要寫這本書

異構的IT基礎設施環境導致開發和部署的系統應用紛繁復雜,作為IT技術領域多年的應用者和實踐者,我們曾期盼這種局面迎來“終結者”。該“終結者”不僅可以讓開發人員從長期飽受困擾的程序移植問題中解脫出來,也可以讓運維人員無須再手動解決運行環境中組件間的依賴關系等問題,從而讓他們的核心職責分別回歸到業務開發和保證系統穩定運行上。終于,以Docker為代表的應用容器技術為該難題的解決帶來了一縷曙光,冉冉升起的容器編排之星Kubernetes則讓該難題的解決幾近塵埃落定,甚至連IT管理者心心念念多年的DevOps文化運動也借此找到了易于落地的實現方案。于是,系統運行割據多年的局面被打破,開始步入天下一統的時代。

Kubernetes是CNCF旗下的第一個“畢業”項目,并榮獲2018年OSCON最具影響力獎項。盡管距Kubernetes 1.0發布已有幾年光景,但其影響力至今仍可以說是空前絕后。Kubernetes可能是IT技術發展史上最為成功的開源項目,除了各類擁有IT信息系統的公司在使用或準備使用它之外,甚至在美國它逐漸成為武器系統和戰斗機軟件的基礎設施。Linux軟件基金會的常務董事Jim Zemlin在2017年的Google Cloud Next大會上曾說過,Kubernetes是“云時代的Linux”。的確,Kubernetes應該是開源世界里有史以來迭代最快的項目,儼然成為容器編排領域的事實標準,這樣的迭代速度和影響力恐怕僅有Linux內核項目可堪與之匹敵。

目前,Kubernetes仍保持著每年發布4個重要版本的節奏,每次版本更新都會引入數個新特性,這種快速迭代的機制在給用戶不斷帶來驚喜的同時,也在學習和使用上給用戶造成一些困擾:相關領域的參考書仍不豐富,而互聯網上可以得到的文檔并非源于同一個技術版本,且厘清脈絡形成完整的知識框架的時間成本較大。因此筆者在教授課程以及進行生產實踐之余便萌生了寫一本Kubernetes入門與實踐圖書,把學習和使用經驗總結并分享給更多有需要的技術同行的想法,以幫助大家縮短入門路徑,降低時間成本。

然而,在寫作過程中,Kubernetes這種快速迭代的機制以及每每引入的新特性卻在給筆者帶來小驚喜之余,也使筆者感到沮喪:在一年多的寫作時間里許多章節幾易其稿,卻依然無法確保涵蓋即將成為核心功能的特性。這種沮喪感幾度如影隨形,直到自我安慰“基礎的核心特性基本不會發生大的變動,只要能幫助讀者弄清楚Kubernetes系統的基礎架構及核心工作邏輯就算沒有白費工夫”之后方才釋去,于是便有了這本盡量多地包羅Kubernetes系統目前的主流特性及實踐路徑的入門之書、工具之書。

第2版與第1版的區別

2020年8月26日,Kubernetes v1.19正式發布,這是2020年于v1.18之后發布的第二個新版本。相對于2018年發布的v1.12來說,這兩個版本的Kubernetes進行了不少改進并引入了諸多新的特性,不少組件與工具的功能有了較大變動。于是,本書第2版基于v1.18和v1.19的大多數新特性進行了相應的修改和升級,例如增加了kubectl插件、Kustomize、CNI、CSI及新版本調度框架等內容。

在本書第1版(2019年1月)出版后,筆者收到了許多熱心讀者的反饋意見,部分讀者強烈建議深入講解Service和Ingress相關的話題。因此在本書第2版中,筆者擴充了對這兩個話題的講解,分別用一章進行闡述。另外,相對于第1版,第2版在各知識點的講解順序及內容編排上也進行了大幅度的調整,不少章節甚至進行了大范圍的重寫。但如何深入理解Kubernetes及其各組件的原理性知識,以及如何將其應用于實踐仍是本書貫穿始終的主旨。

本書特色

本書致力于幫助容器編排技術的初級、中級讀者循序漸進地理解和使用Kubernetes系統,因此在編寫時充分考慮了初學者進入一個新的知識領域時不知從何入手的茫然局面,以由淺入深、由點到面的方式講解每一個知識細節。對于每個知識點,不僅介紹其概念和用法,還分析了為什么要有這個概念,實現方式是什么,背后的邏輯為何等,使讀者不僅知其然,還知其所以然。

本書不僅可以帶領讀者入門,更是一本可以隨時動手加以驗證的實踐手冊,而且部分重要的內容還專門按步驟講解具體的實操案例,幫助讀者在實踐中加深對概念的理解。本書幾乎涵蓋了應用Kubernetes系統的主流知識點,甚至可以作為考取CKA認證證書的配套參考書。

讀者對象

云原生程序開發工程師

云計算運維工程師

云計算架構師

計劃考取CKA認證證書的讀者

其他對容器編排感興趣的人員

如何閱讀本書

閱讀本書前,讀者需要具有Docker容器技術的基礎知識。本書分為5大部分,共16章。

第一部分為系統基礎(第1~2章),介紹Kubernetes系統基礎概念及基本應用。第1章介紹容器編排系統出現的背景,以及Kubernetes系統的功能、特性、核心概念、系統組件及應用模型。第2章講解Kubernetes的部署模式,包括kubeadm部署工具的部署方式及部署過程,并給出了使用直接命令式操作管理資源對象的方法,以幫助讀者快速入門。

第二部分為核心資源(第3~8章),介紹各種核心資源及應用。第3章介紹資源管理模型以及命令式和聲明式管理接口,并通過命令對比說明兩種操作方式的不同。第4章介紹Pod資源的常用配置、生命周期、存儲狀態和就緒狀態檢測,以及計算資源的需求與限制等。第5章主要介紹存儲卷類型及常見存儲卷的使用方式,PV和PVC出現的原因與應用,以及存儲類資源的應用與存儲卷的動態供給。第6章介紹使用ConfigMap和Secret資源為容器應用提供配置及敏感信息的方式。第7章講解Service資源,分別介紹了Service類型、功用及其實現,并深入分析了各種類型Service的實現方式。第8章介紹Pod控制器資源類型,重點講解了控制無狀態應用的ReplicaSet、Deployment、StatefulSet和DaemonSet控制器,并介紹了Job和CronJob控制器。

第三部分為安全(第9~10章),介紹安全相關的話題,主要涉及認證、授權、準入控制、網絡模型及網絡策略等。第9章重點講解認證方式、ServiceAccount和TLS認證、授權插件類型及RBAC,并在最后介紹了LimitRange、ResourceQuota和PodSecurityPolicy這3種類型的準入控制器及相關的資源類型。第10章主要介紹網絡插件基礎及Flannel的3種后端實現及其應用,Calico網絡插件IPIP和BGP模型的實現,以及網絡策略的實現及應用。

第四部分為進階(第11~13章),主要介紹調度框架和調度插件、資源擴展和路由網關等高級話題。第11章介紹Pod資源的經典調度策略、新式的調度框架及調度插件,包括節點親和、Pod資源親和及基于污點與容忍度的調度等話題。第12章介紹系統資源的擴展方式,包括自定義資源類型、自定義資源對象、自定義API及控制器、Master節點的高可用等話題。第13章介紹Ingress資源及其實現、Ingress Nginx配置與應用案例,以及基于Contour的高級應用發布機制,例如藍綠部署、流量遷移、流量鏡像、超時和重試等。

第五部分為必備生態組件(第14~16章),重點介紹Kubernetes上用于支撐核心功能的關鍵附加組件。第14章講解大規模應用部署管理工具Kustomize與Helm的基礎及應用案例。第15章介紹資源指標、自定義指標、Prometheus監控系統及HPA控制器的應用。第16章介紹如何為Kubernetes系統提供統一日志收集及管理工具棧EFK。

有一定Kubernetes使用經驗的讀者可以挑選感興趣的章節直接閱讀。對于初學者,建議從基礎部分逐章閱讀,但構建在Kubernetes系統之上的應用多數都要以讀者熟悉相關領域的知識為基礎,如果某些內容很難理解,通常是由于缺乏相關知識所致,建議讀者通過其他資料補足基礎后再閱讀。編撰本書的主要意圖是為初級和中級讀者提供一本循序漸進的實操手冊,但任何讀者都可以把它作為一本案頭工具書隨時查閱。

排版約定

本書所有的命令都附帶了或長或短的命令提示符“#”和“$”或“~#”或“~$”,較長的命令使用了“\”作為續行符,且命令及其輸出使用了無鋪灰背景色的代碼體。

附帶代碼

本書相關的配置清單等都放在倉庫中,實踐時可直接克隆到本地實驗環境中使用。

勘誤和支持

雖然筆者從事培訓及技術研究工作已十余年,但考慮到排版印刷后不可更改,整個寫作過程幾乎是戰戰兢兢、如履薄冰,講解每一個關鍵話題時,都大量調閱資料并反復斟酌,盡量清晰、準確地加以描述,同時試圖避免因自己的理解偏差而誤導讀者。盡管如此,由于筆者的水平有限,加之寫作時間倉促,書中難免存在不妥之處,懇請讀者批評指正。如果你有更多的寶貴意見,可以通過郵箱mage@magedu.com聯系我,期待得到讀者的真摯反饋。另外,本書的勘誤將會發布在筆者的公眾號(iKubernetes)或本書專用的GitHub主頁(https://github.com/ikubernetes)上,歡迎讀者朋友關注并留言討論。

參考資料

本書名為《Kubernetes進階實戰》(第2版),但對于具有不同知識基礎和結構的讀者來說,僅憑一本書的內容根本不足以獲取所需的全部信息,大家還可以通過以下途徑獲取關于Kubernetes系統的更多資料,筆者在本書寫作期間也從這些參考資料中獲得了很大幫助。

Kubernetes Documentation和Kubernetes API Reference:這是提供Kubernetes領域相關知識的最全面、最深入和最準確的參考材料。

Kubernetes in Action:本書的謀篇布局及寫作理念與此書不謀而合,因此對許多概念的理解和驗證也以此書為素材,寫作時有多處概念的描述借鑒了此書的內容。

Red Hat OpenShift Documentation:這是Red Hat公司的產品文檔規范,權威、細致且條理清晰,是不可多得的參考材料。

The New Stack的技術文章及調研報告:該站點有了解Kubernetes系統技術細節和行業應用現狀與趨勢的不可多得的優秀資源。

Bitnami及Heptio站點上的博客文章:它們提供了深入了解和學習Kubernetes系統某個特定技術細節的可靠資料。

另外,本書借鑒了網絡上的一些技術文章和參考文檔。在這里一并向這些圖書和文章的作者表示深深的謝意!

致謝

Kubernetes社區創造性的勞動成果和辛苦付出,才讓我們有了學習、使用如此優秀的開源系統的可能性,這也是本書得以構建的基石。

感謝我的同事們在我寫作期間給予的支持和理解,是他們讓我有了可以放心寫作的時間和精力。感謝本書第1版的熱心讀者的真誠建議和積極反饋,他們提出的寶貴意見為本書第2版的寫作提供了參考方向或素材。

感謝參加了我的課程(馬哥教育)的學員朋友們,大家的學習熱情及工作中源源不斷的反饋信息與需求在不同程度上幫助我一直保持對技術的追求和熱忱,教學相長在此得到了充分體現。

感謝機械工業出版社華章公司的編輯高婧雅女士對本書寫作的悉心指導,以及對我本人的包容和理解。

最后要特別感謝我的家人,我為寫作這本書犧牲了很多陪伴他們的時間,是他們在生活中的關懷和鼓勵才使我能夠踏踏實實地完成本書。

       馬永亮
pagetop