Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 6/e (下)

龔正 等

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

商品描述

本書是《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸》(第6版)的下冊,總計9章,涵蓋了Kubernetes v1.29及之前版本的主要特性。第1、2章圍繞Kubernetes認證機制和安全機制進行深入講解,既有實例介紹,又有深入分析,可以讓讀者更容易理解Kubernetes中的認證機制、授權模式、準入控制機制,以及Pod的安全管理機制。第3章講解容器網絡基礎,對局域網、互聯網和常見網絡設備等知識進行介紹。第4章講解Kubernetes網絡的原理,對Kubernetes網絡模型、CNI網絡模型、開源容器網絡方案都做了詳細介紹,對Kubernetes防火牆相關的網絡策略也做了相關分析。第5、6章圍繞Kubernetes存儲進行深入講解,涉及持久捲相關的PV、PVC、StorageClass、靜態和動態存儲管理,以及CSI存儲機制的原理和發展狀況。第7、8章圍繞Kubernetes API和開發實戰進行講解,涉及Kubernetes資源對象、Kubernetes API、CRD和Operator擴展機制,以及如何通過swagger-editor快速調用和測試Kubernetes API,並針對Operator開發給出完整的示例說明。第9章對Kubernetes開發中的新功能做了一些補充說明,包括Kubernetes對Windows容器的支持、如何在Windows Server上部署Kubernetes、Kubernetes對GPU的支持和發展趨勢、Kubernetes的自動擴縮容機制等,對Kubernetes的生態系統與演進路線也進行了深入講解。附錄A深入講解了Kubernetes的核心服務配置。本書適合資深IT從業者、研發部門主管、架構師(開發語言不限)、研發工程師、運維工程師、軟件QA和測試工程師(兩年以上經驗),以及以技術為主的售前工作人員(兩年以上經驗)閱讀和參考。

目錄大綱

第1章 深入理解Kubernetes的安全機制
1.1 Kubernetes的常規認證機制
1.1.1 數字證書認證
1.1.2 Service Account認證
1.1.3 靜態Token文件認證
1.2 Kubernetes的擴展認證機制
1.2.1 OIDC Token認證
1.2.2 Webhook Token認證
1.2.3 Authenticating Proxy認證
1.3 API Server的授權模式和鑒權機制
1.3.1 ABAC授權模式
1.3.2 RBAC授權模式
1.3.3 Validating Admission Policy模式
1.3.4 Webhook授權模式
1.3.5 Node授權模式
1.3.6 API Server的鑒權機制

第2章 深入理解Pod的安全機制
2.1 準入控制機制
2.1.1 準入控制機制概述
2.1.2 系統內置的Admission Controller
2.1.3 Admission Webhook準入控制器
2.2 Node資源與Pod的安全
2.2.1 Node身份安全機制
2.2.2 Node資源量安全機制
2.3 PodSecurity
2.3.1 SecurityContext
2.3.2 Pod Security Standards
2.4 Pod數據存儲安全
2.4.1 Secret私密憑據
2.4.2 Volume存儲安全
2.5 Pod網絡安全
2.5.1 Pod基礎網絡安全
2.5.2 Namespace網絡隔離
2.5.3 NetworkPolicy網絡隔離

第3章 容器網絡基礎
3.1 網絡基礎
3.1.1 局域網的構成
3.1.2 局域網互聯與路由器
3.1.3 接入互聯網
3.2 Linux網絡基礎
3.2.1 網橋
3.2.2 Netfilter和iptables
3.2.3 路由
3.3 網絡命名空間和Veth設備對
3.3.1 網絡命名空間
3.3.2 Veth設備對
3.4 Docker的容器網絡模式簡介
3.4.1 查看Docker啟動後的系統情況
3.4.2 查看容器啟動後的網絡配置(容器無埠映射)
3.4.3 查看容器啟動後的網絡配置(容器有埠映射)
3.4.4 Docker的網絡局限性

第4章 Kubernetes網絡原理
4.1 Kubernetes網絡模型
4.2 Kubernetes網絡的實現機制
4.2.1 容器和容器之間的通信
4.2.2 Pod和Pod之間的通信
4.3 CNI網絡模型
4.3.1 CNM網絡模型簡介
4.3.2 CNI網絡模型詳解
4.4 開源容器網絡方案
4.4.1 Flannel插件的原理和部署示例
4.4.2 Open vSwitch插件的原理和部署示例
4.4.3 直接路由的原理和部署示例
4.4.4 Calico插件的原理和部署示例
4.5 Kubernetes網絡策略
4.5.1 網絡策略概述
4.5.2 Selector功能說明
4.5.3 為命名空間配置默認的網絡策略
4.5.4 網絡策略應用示例
4.5.5 網絡策略的一些特殊情況和功能限制

第5章 Kubernetes存儲原理和實踐
5.1 存儲機制概述
5.2 臨時捲詳解
5.2.1 emptyDir
5.2.2 Generic Ephemeral
5.2.3 CSI Ephemeral
5.2.4 其他類型臨時捲
5.3 持久捲詳解
5.3.1 PV和PVC的工作原理
5.3.2 PV詳解
5.3.3 PVC詳解
5.3.4 Pod使用PVC
5.3.5 StorageClass詳解
5.3.6 內置持久捲類型
5.4 動態存儲管理實戰:GlusterFS
5.4.1 準備工作
5.4.2 創建GlusterFS管理服務容器集群
5.4.3 創建Heketi服務
5.4.4 通過Heketi管理GlusterFS集群
5.4.5 定義StorageClass
5.4.6 定義PVC
5.4.7 Pod使用PVC的存儲資源

第6章 深入理解CSI存儲機制
6.1 CSI存儲插件機制詳解
6.1.1 CSI的設計背景
6.1.2 CSI的核心組件和部署架構
6.2 CSI存儲插件應用實戰
6.2.1 部署csi-hostpath存儲插件
6.2.2 使用CSI存儲插件
6.2.3 擴展存儲空間
6.2.4 PVC的快照管理
6.3 CSI存儲捲管理
6.3.1 存儲捲快照
6.3.2 存儲捲克隆
6.3.3 存儲容量跟蹤
6.4 CSI的演進和發展
6.4.1 CSI驅動插件
6.4.2 CSI存儲捲健康檢查
6.4.3 in-tree插件遷移
6.4.4 新特性演進

第7章 Kubernetes API詳解
7.1 REST概述
7.2 Kubernetes資源對象詳解
7.2.1 資源對象的類型
7.2.2 資源對象的元數據
7.2.3 資源對象的版本
7.2.4 資源對象的主體定義
7.2.5 資源對象的狀態
7.3 Kubernetes API詳解
7.3.1 API分組管理
7.3.2 API標準
7.3.3 OpenAPI規範
7.4 Kubernetes API調用和調試
7.4.1 部署swagger-editor
7.4.2 導入OpenAPI規範文檔
7.4.3 調用調試API
7.4.4 API Server響應信息

第8章 Kubernetes開發指南
8.1 API客戶端庫
8.1.1 Java客戶端庫
8.1.2 Go客戶端庫
8.1.3 Python客戶端庫
8.1.4 JavaScript客戶端庫
8.2 CRD擴展
8.2.1 CRD的概念和用法
8.2.2 CRD的定義
8.2.3 創建CR資源對象實例
8.2.4 CRD的高級特性
8.3 Operator開發詳解
8.3.1 Operator的概念和原理
8.3.2 定義MyPodSet CRD
8.3.3 根據CRD生成代碼
8.3.4 Operator代碼解讀
8.3.5 構建鏡像部署
8.4 API聚合機制
8.4.1 啟用API聚合功能
8.4.2 註冊自定義API Service
8.4.3 部署自定義API Server

第9章 Kubernetes開發中的新功能
9.1 對Windows容器的支持
9.1.1 在Windows Server上安裝容器運行時
9.1.2 在Windows Server上部署Kubernetes Node組件
9.1.3 在Windows Server上部署容器應用和服務
9.1.4 Kubernetes支持的Windows容器特性、限制和發展趨勢
9.2 對GPU的支持
9.2.1 在容器中使用GPU資源
9.2.2 發展趨勢
9.3 Kubernetes集群擴縮容的新功能
9.3.1 Cluster AutoScaler
9.3.2 Kubernetes VPA
9.3.3 Kubernetes Addon Resizer
9.4 Kubernetesr的生態系統與演進路線
9.4.1 Kubernetes與CNCF
9.4.2 Kubernetes的演進路線
9.4.3 Kubernetes的開發模式

附錄A Kubernetes核心服務配置詳解
A.1 公共配置參數
A.2 kube-apiserver啟動參數
A.3 kube-controller-manager啟動參數
A.4 kube-scheduler啟動參數
A.5 kubelet啟動參數
A.6 kube-proxy啟動參數