Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 5/e

龔正 , 吳治輝 , 閆健勇

買這商品的人也買了...

商品描述

Kubernetes是由谷歌開源的容器集群管理系統,
為容器化應用提供了資源調度、部署運行、服務發現、擴縮容等一整套功能。
Kubernetes也是將“一切以服務(Service)為中心,
一切圍繞服務運轉”作為指導思想的創新型產品,
它的功能和架構設計自始至終地遵循了這一指導思想。
構建在Kubernetes上的系統不僅可以獨立運行在物理機、
虛擬機集群或者企業私有云上,也可以被託管在公有云上。

本書總計12章,分別講解Kubernetes的基本概念、實踐指南、
核心原理、開髮指南、網絡與存儲、運維指南、新特性演進等內容。
全書圖文並茂、內容豐富、由淺入深、講解全面,並圍繞在生產環境中可能出現的問題,給出了大量典型案例,
比如安全配置方案、網絡方案、共享存儲方案、高可用方案及Trouble Shooting技巧等,有很強的實戰指導意義。
本書的內容也隨著Kubernetes的版本更新不斷完善,目前涵蓋了Kubernetes從1.0到1.19版本的主要特性,
努力為Kubernetes用戶提供全方位的Kubernetes技術指南。

無論是對於軟件工程師、軟件架構師、測試工程師、運維工程師、
技術經理,還是對於資深IT人士,本書都極具參考價值。

作者簡介

龔正

HPE高級顧問,從事IT工作20餘年,在雲計算、大數據、大型企業級應用等領域有豐富的諮詢規劃、架構設計和實施經驗,
負責過多個大型雲平台的規劃和建設,是電信、金融、互聯網等領域的資深專家,
也是《Kubernetes權威指南:企業級容器雲實戰》等書的作者。

 

吳治輝

HPE資深架構師,從事軟件研發工作20餘年,專注於電信軟件和雲計算方面的軟件研發,有豐富的大型項目架構設計經驗,
是業界少有的具備很強編程能力的資深架構師,也是《 ZeroC Ice權威指南》
《架構解密:從分佈式到微服務》《Kubernetes權威指南:企業級容器雲實戰》《區塊鏈輕鬆上手》等書的作者。


閆健勇

HPE高級項目經理、總架構師,從事電信行業系統建設工作20餘年,主導了多項電信大型系統的架構設計和管理,
對雲計算和大數據在電信行業中的應用有豐富的經驗,
也是《 Kubernetes權威指南:企業級容器雲實戰》等書的作者。

目錄大綱

目錄
(本書很厚,所以目錄中的章節較多,此處頁面有限,大部分更為具體的三級目錄已在此處省略,具體請參見紙書或電子書的目錄部分)

第1章Kubernetes入門 1
1.1 了解Kubernetes 2
1.2 為什麼要用Kubernetes 5
1.3 從一個簡單的例子開始 7
1.3.1 環境準備 8
1.3.2 啟動MySQL服務 8
1.3.3 啟動Tomcat應用11
1.3.4 通過瀏覽器訪問網頁12
1.4 Kubernetes的基本概念和術語14

第2章Kubernetes安裝配置指南47
2.1 系統要求48
2.2 使用kubeadm工具快速安裝Kubernetes集群49
2.3 以二進製文件方式安裝Kubernetes安全高可用集群61
2.4 使用私有鏡像庫的相關配置90
2.5 Kubernetes的版本升級91
2.6 CRI(容器運行時接口)詳解94
2.7 kubectl命令行工具用法詳解98


第3章深入掌握Pod 113
3.1 Pod定義詳解114
3.2 Pod的基本用法120
3.3 靜態Pod 125
3.4 Pod容器共享Volume 126
3.5 Pod的配置管理129
3.6 在容器內獲取Pod信息(Downward API) 144
3.7 Pod生命週期和重啟策略154
3.8 Pod健康檢查和服務可用性檢查155
3.9 玩轉Pod調度159
3.10 Init Container(初始化容器) 192
3.11 Pod的升級和回滾196
3.12 Pod的擴縮容209
3.13 使用StatefulSet搭建MongoDB集群233


第4章深入掌握Service 245
4.1 Service定義詳解246
4.2 Service的概念和原理248
4.2.1 Service的概念248
4.2.2 Service的負載均衡機制252
4.2.3 Service的多端口設置254
4.2.4 將外部服務定義為Service 256
4.2.5 將Service暴露到集群外部257
4.2.6 Service支持的網絡協議260
4.2.7 Kubernetes的服務發現機制261
4.2.8 Headless Service的概念和應用263
4.2.9 端點分片與服務拓撲265
4.3 DNS服務搭建和配置指南274
4.4 Node本地DNS緩存284
4.5 Pod的DNS域名相關特性291
4.6 Ingress 7層路由機制297


第5章核心組件的運行機制326
5.1 Kubernetes API Server原理解析327
5.1.1 Kubernetes API Server概述327
5.1.2 API Server架構解析330
5.1.3 獨特的Kubernetes Proxy API接口335
5.1.4 集群功能模塊之間的通信336
5.1.5 API Server網絡隔離的設計338
5.2 Controller Manager原理解析339
5.3 Scheduler原理解析346
5.4 kubelet運行機制解析352
5.4.1 節點管理352
5.4.2 Pod管理353
5.4.3 容器健康檢查354
5.4.4 cAdvisor資源監控355
5.4.5 容器運行時357
5.5 kube-proxy運行機制解析359
5.5.1 第一代Proxy 360
5.5.2 第二代Proxy 361
5.5.2 第三代Proxy 362

第6章深入分析集群安全機制364

6.1 API Server認證管理365
6.2 API Server授權管理373
6.3 Admission Control 406
6.4 Service Account 410
6.5 Secret私密憑據415
6.6 Pod安全策略419

第7章網絡原理445
7.1 Kubernetes網絡模型446
7.2 Docker網絡基礎448
7.3 Docker的網絡實現461
7.4 Kubernetes的網絡實現470
7.5 Pod和Service網絡實戰474
7.6 CNI網絡模型489
7.7 開源容器網絡方案508
7.8 Kubernetes的網絡策略541
7.9 Kubernetes對IPv4和IPv6雙棧的支持551


第8章存儲原理和應用560
8.1 Kubernetes存儲機制概述561
8.1.1 將資源對象映射為存儲卷562
8.1.2 Node本地存儲卷569
8.2 持久卷(Persistent Volume)詳解573
8.2.1 PV和PVC的工作原理574
8.2.2 PV詳解581
8.2.3 PVC詳解587
8.2.4 Pod使用PVC 589
8.2.5 StorageClass詳解593
8.3 動態存儲管理實戰:GlusterFS 600
8.3.1 準備工作600
8.3.2 創建GlusterFS管理服務容器集群600
8.3.3 創建Heketi服務603
8.3.4 通過Heketi管理GlusterFS集群607
8.3.5 定義StorageClass 610
8.3.6 定義PVC 610
8.3.7 Pod使用PVC的存儲資源613
8.4 CSI存儲機制詳解614

第9章Kubernetes開髮指南647
9.1 REST簡述648
9.2 Kubernetes API詳解650
9.3 使用Fabric8訪問Kubernetes API 665
9.4 Kubernetes API的擴展680


第10章Kubernetes運維管理702
10.1 Node管理703
10.2 更新資源對象的Label 705
10.3 Namespace:集群環境共享與隔離706
10.4 Kubernetes資源管理710
10.5 資源緊缺時的Pod驅逐機制766
10.6 Pod Disruption Budget(主動驅逐保護) 774
10.7 Kubernetes集群監控778
10.7.1 使用Metrics Server監控Node和Pod的CPU和內存使用數據778
10.7.2 Prometheus+Grafana集群性能監控平台搭建783
10.8 Kubernetes集群日誌管理803
10.9 Kubernetes的審計機制822
10.10 使用Web UI(Dashboard)管理集群826
10.11 Helm:Kubernetes應用包管理工具839

第11章Trouble Shooting指南862
11.1 查看系統Event 863
11.2 查看容器日誌865
11.3 查看Kubernetes服務日誌866
11.4 常見問題868
11.5 尋求幫助872


第12章Kubernetes開發中的新功能875
12.1 對Windows容器的支持876
12.2 對GPU的支持896
12.2.1 環境準備897
12.2.2 在容器中使用GPU資源900
12.2.3 發展趨勢902
12.3 Pod的垂直擴縮容902
12.4 Kubernetes生態系統與演進路線908

附錄A Kubernetes核心服務配置詳解915