Kubernetes修煉手冊檢視原始碼討論檢視歷史
《Kubernetes修煉手冊》,奈吉爾·波爾頓 著,劉康 李瑞豐 譯,出版社: 人民郵電出版社。
人民郵電出版社,1953年10月成立,隸屬於中國工信出版傳媒集團,是工業和信息化部主管的大型專業出版社[1]。建社以來,人民郵電出版社圍繞「立足工信事業,面向現代社會,傳播科學知識,引領美好生活」的出版宗旨,已發展成為集圖書、期刊、音像電子及數字出版於一體的綜合性出版大社[2]。
內容簡介
本書是一本Kubernetes入門圖書,共分為12章,涵蓋了Kubernetes的基礎知識,並附帶了大量的配置案例。此外,還介紹了Kubernetes架構、構建Kubernetes集群、在Kubernetes上部署和管理應用程序、Kubernetes安全,以及雲本地、微服務、容器化等術語的含義。本書在內容上不斷進行充實和完善,可以幫助讀者快速入門Kubernetes。
本書適合系統管理員、開發人員,以及對Kubernetes感興趣的初學者閱讀。
目錄
第 1章 初識Kubernetes 1
1.1 Kubernetes的背景 1
1.1.1 編排器 1
1.1.2 容器化應用 1
1.1.3 雲原生應用 2
1.1.4 微服務應用 2
1.2 Kubernetes的誕生 3
1.2.1 Kubernetes和Docker 3
1.2.2 Kubernetes與Docker Swarm對比 4
1.2.3 Kubernetes和Borg:抵抗是徒勞的 5
1.2.4 Kubernetes—名字從何而來 5
1.3 雲操作系統 6
1.3.1 雲的規模 6
1.3.2 應用的調度 7
1.3.3 一個簡單的模擬 7
1.4 總結 7
第 2章 Kubernetes操作概覽 9
2.1 Kubernetes概覽 9
2.1.1 作為集群的Kubernetes 9
2.1.2 作為編排器的Kubernetes 10
2.1.3 Kubernetes是如何工作的 11
2.2 主節點與工作節點 12
2.2.1 主節點(控制平面) 12
2.2.2 工作節點 15
2.3 Kubernetes DNS 17
2.4 Kubernetes的應用打包 17
2.5 聲明式模型與期望狀態 18
2.6 Pod 20
2.6.1 Pod與容器 20
2.6.2 Pod深度剖析 21
2.6.3 調度單元 22
2.6.4 原子操作單位 22
2.6.5 Pod的生命周期 22
2.7 Deployment 23
2.8 服務與穩定的網絡 23
2.9 總結 26
第3章 安裝Kubernetes 27
3.1 Kubernetes練習環境 27
3.2 託管的Kubernetes環境 27
3.3 自定義Kubernetes集群 28
3.4 安裝Kubernetes 28
3.5 Play with Kubernetes 28
3.6 桌面版Docker 31
3.7 Google Kubernetes引擎(GKE) 32
3.8 其他安裝方法 34
3.9 kubectl 34
3.10 總結 36
第4章 Pod的使用 37
4.1 Pod原理 37
4.1.1 Pod和容器 38
4.1.2 多容器Pod:典型示例 38
4.1.3 如何部署Pod 39
4.1.4 「解剖」Pod 40
4.1.5 Pod與共享網絡 40
4.1.6 Pod與CGroup 42
4.1.7 Pod的原子部署 42
4.1.8 Pod的生命周期 42
4.1.9 小結 43
4.2 Pod實戰 43
4.2.1 Pod清單文件 44
4.2.2 清單文件:共情即代碼 45
4.2.3 基於清單文件部署Pod 46
4.2.4 查看運行中的Pod 46
4.2.5 kubectl describe 48
4.2.6 kubectl exec:在Pod中執行命令 49
4.2.7 kubectl logs 50
4.3 總結 50
第5章 Kubernetes Deployment 51
5.1 Deployment原理 51
5.1.1 自愈和擴縮容 52
5.1.2 使用Deployment進行滾動升級 54
5.1.3 回滾 56
5.2 如何創建一個Deployment 56
5.2.1 查看Deployment 58
5.2.2 訪問該應用 59
5.3 執行滾動升級 60
5.4 執行回滾操作 63
5.5 總結 64
第6章 Kubernetes Service 65
6.1 要點前瞻 65
6.2 原理 66
6.2.1 Label與鬆耦合 67
6.2.2 Service和Endpoint對象 69
6.2.3 從集群內部訪問Service 70
6.2.4 從集群外部訪問Service 70
6.2.5 服務發現 72
6.2.6 小結 72
6.3 Service實戰 73
6.3.1 命令式 73
6.3.2 聲明式 76
6.4 實例 79
6.5 總結 81
第7章 服務發現 82
7.1 快速入門 82
7.2 服務註冊 83
7.2.1 服務後端 85
7.2.2 小結 86
7.3 服務發現 86
7.3.1 使用集群DNS將名稱解析為IP地址 87
7.3.2 網絡「黑科技」 88
7.3.3 小結 89
7.4 服務發現與命名空間 90
7.5 服務發現問題排查 96
7.6 總結 98
第8章 Kubernetes存儲 99
8.1 概述 99
8.2 存儲提供者 101
8.3 容器存儲接口(CSI) 101
8.4 Kubernetes持久化卷子系統 101
8.5 存儲類和動態置備 107
8.5.1 存儲類YAML 108
8.5.2 多個存儲類 109
8.5.3 實現存儲類 109
8.6 示例 111
8.6.1 清理 111
8.6.2 創建一個存儲類 112
8.6.3 創建一個PVC 113
8.6.4 清理 114
8.6.5 使用默認的StorageClass 115
8.7 總結 115
第9章 ConfigMap 116
9.1 概述 116
9.1.1 簡單的例子 117
9.1.2 例子分析 117
9.1.3 解耦的世界 117
9.2 ConfigMap原理 118
9.2.1 ConfigMap如何工作 119
9.2.2 ConfigMap與Kubernetes原生應用 120
9.3 ConfigMap實戰 120
9.3.1 命令式創建ConfigMap 120
9.3.2 查看ConfigMap 122
9.3.3 聲明式創建ConfigMap 123
9.3.4 將ConfigMap數據注入Pod和容器 125
9.4 總結 129
第 10章 StatefulSet 130
10.1 StatefulSet原理 130
10.1.1 StatefulSet中Pod的命名 131
10.1.2 按序創建和刪除 132
10.1.3 刪除StatefulSet 133
10.1.4 卷 133
10.1.5 故障處理 134
10.1.6 網絡ID和headless Service 134
10.2 StatefulSet實戰 135
10.2.1 部署StorageClass 135
10.2.2 創建一個governing headless Service 136
10.2.3 部署StatefulSet 137
10.2.4 測試點對點發現 140
10.2.5 StatefulSet擴縮容 141
10.2.6 執行滾動升級 143
10.2.7 模擬Pod故障 143
10.2.8 刪除StatefulSet 145
10.3 總結 145
第 11章 安全模型分析 146
11.1 安全模型 146
11.2 偽裝 146
11.2.1 與API Server的安全通信 147
11.2.2 Pod間的安全通信 147
11.3 篡改 149
11.3.1 對Kubernetes組件的篡改 149
11.3.2 對運行在Kubernetes中的應用的篡改 150
11.4 抵賴 151
11.5 信息泄露 153
11.5.1 保護集群數據 153
11.5.2 保護Pod中的數據 153
11.6 拒絕服務 154
11.6.1 保護集群資源免於DoS攻擊 154
11.6.2 保護API Server防範DoS攻擊 155
11.6.3 保護集群存儲防範DoS攻擊 155
11.6.4 保護應用組件防範DoS攻擊 156
11.7 提升權限 157
11.7.1 保護API Server 157
11.7.2 保護Pod 158
11.8 Pod安全策略 162
11.9 Kubernetes安全展望 164
11.10 總結 164
第 12章 現實中Kubernetes的安全性 165
12.1 CI/CD流水線 165
12.1.1 鏡像倉庫 165
12.1.2 使用已驗證的基礎鏡像 166
12.1.3 非標準基礎鏡像 167
12.1.4 控制鏡像的訪問權限 167
12.1.5 從非生產庫複製鏡像到生產庫 168
12.1.6 漏洞掃描 168
12.1.7 配置即代碼 169
12.1.8 鏡像簽名 169
12.1.9 鏡像晉升工作流 170
12.2 基礎設施與網絡 170
12.2.1 集群層負載隔離 170
12.2.2 節點隔離 172
12.2.3 運行時隔離 172
12.2.4 網絡隔離 173
12.3 身份認證與訪問控制管理(IAM) 176
12.4 審計與安全監控 177
12.4.1 安全配置 177
12.4.2 容器與Pod的生命周期事件 178
12.4.3 應用的日誌 178
12.4.4 用戶執行的操作 178
12.4.5 管理日誌數據 179
12.4.6 遷移現有App到Kubernetes 179
12.5 現實例子 179
12.6 總結 180
術語表 181
延伸 184
參考文獻
- ↑ 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
- ↑ 人民郵電出版社簡介,人民郵電出版社