3dwoo大學簡體電腦書店
精通Kubernetes
( 簡體 字)
作者:[美]吉吉·塞凡(Gigi Sayfan)類別:1. -> 程式設計 -> 綜合
出版社:人民郵電出版社精通Kubernetes 3dWoo書號: 52938
詢問書籍請說出此書號!
有庫存
NT售價: 445
出版日:7/1/2020
頁數:319
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787115536112 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第 1章 理解Kubernetes架構  1
1.1 理解容器編排 1
1.1.1 物理機、虛擬機和容器 1
1.1.2 云端容器 2
1.1.3 服務器運行模式 2
1.2 Kubernetes的相關概念 3
1.2.1 集群 4
1.2.2 節點 4
1.2.3 主節點 4
1.2.4 Pod 4
1.2.5 標簽 5
1.2.6 注解 5
1.2.7 標簽選擇器 5
1.2.8 副本控制器和副本集 6
1.2.9 服務 6
1.2.10 存儲卷 6
1.2.11 有狀態服務集 7
1.2.12 密鑰對象 7
1.2.13 名稱 7
1.2.14 命名空間 8
1.3 深入了解Kubernetes架構 8
1.4 Kubernetes API 10
1.4.1 Kubernetes API 10
1.4.2 自動伸縮 API 10
1.5 Kubernetes組件 11
1.5.1 主組件 11
1.5.2 節點組件 12
1.6 Kubernetes運行時 13
1.6.1 運行時接口 13
1.6.2 Docker 14
1.6.3 Rkt 15
1.6.4 Hyper Container 16
1.7 持續集成與部署 17
1.7.1 CI/CD流水線 17
1.7.2 為Kubernetes設計CI/CD流水線 18
1.8 總結 19
第 2章 創建Kubernetes集群 20
2.1 用Minikube快速創建單節點集群 20
2.1.1 準備工作 20
2.1.2 創建集群 22
2.1.3 故障排除 23
2.1.4 檢查集群 24
2.1.5 部署服務 25
2.1.6 用儀表板檢查集群 26
2.2 用Kubeadm創建多節點集群 26
2.2.1 準備工作 26
2.2.2 組建Vagrant虛擬機集群 26
2.2.3 安裝所需軟件 27
2.2.4 創建集群 29
2.2.5 建立Pod網絡 30
2.2.6 添加工作節點 31
2.3 在GCP、AWS和Azure云端創建集群 32
2.3.1 云提供商接口 32
2.3.2 GCP 33
2.3.3 AWS 33
2.3.4 Azure 34
2.4 從頭開始創建裸金屬集群 34
2.4.1 裸金屬用例 34
2.4.2 什么時候應該考慮創建裸金屬集群 35
2.5 進程 35
2.6 使用虛擬私有云基礎設施 35
2.7 總結 36
第3章 監控、日志記錄和故障排除 37
3.1 用Heapster監控Kubernetes 37
3.2 InfluxDB后端 39
3.2.1 存儲模式 40
3.2.2 Grafana可視化 42
3.3 儀表板的性能分析 43
3.3.1 頂視圖 44
3.3.2 添加中央日志 49
3.4 檢測節點問題 51
3.4.1 節點問題檢測器 52
3.4.2 DaemonSet 52
3.4.3 節點問題檢測DaemonSet 52
3.5 故障排除方案 53
3.6 設計健壯的系統 53
3.6.1 硬件故障 54
3.6.2 配額、份額和限制 54
3.6.3 Bad Configuration 55
3.6.4 成本和性能 56
3.7 總結 57
第4章 高可用性和可靠性 58
4.1 高可用性概念 58
4.1.1 冗余 58
4.1.2 熱交換 59
4.1.3 領導選舉 59
4.1.4 智能負載均衡 59
4.1.5 冪等 59
4.1.6 自愈 60
4.2 高可用性最佳實踐 60
4.2.1 創建高可用性集群 60
4.2.2 確保節點可靠 61
4.2.3 保護集群狀態 62
4.2.4 保護數據 66
4.2.5 運行冗余API服務器 67
4.2.6 用Kubernetes運行領導選舉 67
4.2.7 使預演環境高度可用 69
4.2.8 測試高可用性 70
4.3 集群在線升級 71
4.3.1 滾動升級 71
4.3.2 藍綠升級 73
4.3.3 管理數據契約變更 73
4.3.4 數據遷移 74
4.3.5 檢測過期API 74
4.4 大型集群的性能、成本和設計權衡 75
4.4.1 可用性要求 75
4.4.2 盡力而為 75
4.4.3 維護窗口 76
4.4.4 快速恢復 76
4.4.5 零停機時間 77
4.4.6 性能和數據的一致性 78
4.5 總結 78
第5章 配置Kubernetes安全、限制和賬戶 80
5.1 理解Kubernetes安全挑戰 80
5.1.1 節點挑戰 81
5.1.2 網絡挑戰 81
5.1.3 鏡像挑戰 82
5.1.4 配置和部署挑戰 83
5.1.5 Pod和容器挑戰 84
5.1.6 組織、文化和過程挑戰 84
5.2 加固Kubernetes 85
5.2.1 理解Kubernetes的服務賬戶 85
5.2.2 訪問API服務器 87
5.2.3 保護Pod 90
5.2.4 管理網絡策略 95
5.2.5 使用密鑰對象 97
5.3 運行多用戶集群 100
5.3.1 多用戶集群的案例 100
5.3.2 安全多租戶使用命名空間 101
5.3.3 避免命名空間陷阱 102
5.4 總結 102
第6章 使用關鍵Kubernetes資源 103
6.1 設計Hue平臺 103
6.1.1 定義Hue的范圍 103
6.1.2 規劃工作流 107
6.2 利用Kubernetes構建Hue平臺 107
6.2.1 有效使用kubectl 107
6.2.2 理解kubectl資源配置文件 108
6.2.3 在Pod中部署長時間運行的微服務 110
6.3 內外部服務分離 114
6.3.1 部署內部服務 114
6.3.2 創建Hue-reminders服務 115
6.3.3 從外部公開服務 116
6.4 使用命名空間限制訪問 118
6.5 啟動Job 120
6.5.1 并行運行作業 121
6.5.2 清理已完成的作業 122
6.5.3 調度計劃作業 122
6.6 kubectl獲得Pod 123
6.7 混合非集群組件 124
6.7.1 集群網絡外部組件 124
6.7.2 集群網絡內部組件 125
6.7.3 用Kubernetes管理Hue平臺 125
6.7.4 使用就緒探針管理依賴 126
6.8 為有序啟動Pod采用初始容器 127
6.9 用Kubernetes進化Hue平臺 129
6.9.1 Hue在企業中的運用 129
6.9.2 用Hue推進科學 129
6.9.3 用Hue實施教育 129
6.10 總結 129
第7章 管理Kubernetes存儲 131
7.1 持久存儲卷指導 131
7.1.1 存儲卷 131
7.1.2 創建持久存儲卷 135
7.1.3 持續存儲卷聲明 137
7.1.4 按使用存儲卷掛載聲明 138
7.1.5 存儲類 139
7.1.6 從端到端演示持久存儲卷 140
7.2 公共存儲卷類型——GCE、AWS和Azure 144
7.2.1 AWS彈性塊存儲(EBS) 144
7.2.2 AWS彈性文件系統(EFS) 145
7.2.3 GCE持久化磁盤 145
7.2.4 Azure數據盤 146
7.2.5 Azure文件存儲 147
7.3 Kubernetes中的GlusterFS和Ceph存儲卷 148
7.3.1 使用GlusterFS 148
7.3.2 使用Ceph 151
7.4 Flocker作為集群容器數據存儲卷管理器 153
7.5 將企業存儲集成到Kubernetes 155
7.6 總結 156
第8章 使用Kubernetes運行有狀態的應用程序 157
8.1 Kubernetes中的有狀態與無狀態應用 157
8.1.1 理解分布式數據密集型應用的本質 157
8.1.2 為什么在Kubernetes中管理狀態 158
8.1.3 為什么在Kubernetes以外管理狀態 158
8.2 共享環境變量與DNS記錄 158
8.2.1 通過DNS訪問外部數據存儲 159
8.2.2 通過環境變量訪問外部數據存儲 159
8.2.3 使用冗余內存狀態 161
8.2.4 使用DaemonSet進行冗余持久存儲 161
8.2.5 應用持久存儲卷聲明 161
8.2.6 利用有狀態服務集 162
8.3 在Kubernetes運行Cassandra集群 163
8.3.1 Cassandra快速入門 164
8.3.2 Cassandra Docker鏡像 164
8.3.3 連接Kubernetes和Cassandra 169
8.3.4 創建Cassandra無源服務 172
8.3.5 使用有狀態服務集創建Cassandra集群 172
8.3.6 使用副本控制器分布Cassandra 176
8.3.7 利用DaemonSet分布Cassandra 179
8.4 總結 180
第9章 滾動更新、可伸縮性和配額 181
9.1 水平Pod自動伸縮 181
9.1.1 聲明水平Pod自動伸縮器 182
9.1.2 自定義度量 183
9.1.3 使用Kubectl自動伸縮 185
9.2 用自動伸縮進行滾動更新 187
9.3 用限制和配額處理稀缺資源 188
9.3.1 啟用資源配額 189
9.3.2 資源配額類型 189
9.3.3 配額范圍 191
9.3.4 請求與限制 192
9.3.5 使用配額 192
9.4 選擇與管理集群性能 197
9.4.1 選擇節點類型 197
9.4.2 選擇存儲解決方案 197
9.4.3 交易成本與響應時間 198
9.4.4 有效使用多節點配置 198
9.4.5 利用彈性云資源 198
9.4.6 考慮Hyper.sh 200
9.5 挑戰Kubernetes性能極限 200
9.5.1 提高Kubernetes的性能和可擴展性 201
9.5.2 測量Kubernetes的性能和可伸縮性 202
9.5.3 按規模測試Kubernetes 205
9.6 總結 206
第 10章 高級Kubernetes網絡 207
10.1 理解Kubernetes網絡模型 207
10.1.1 容器內通信(容器-容器) 207
10.1.2 Pod間通信(Pod-Pod) 208
10.1.3 Pod-服務通信 208
10.1.4 外部訪問 208
10.1.5 Kubernetes網絡與Docker網絡 209
10.1.6 查找與發現 210
10.1.7 Kubernetes網絡插件 212
10.2 Kubernetes網絡解決方案 217
10.2.1 裸金屬集群橋接 217
10.2.2 Contiv 218
10.2.3 Open vSwitch 218
10.2.4 Nuage網絡VCS 219
10.2.5 Canal 219
10.2.6 Flannel 220
10.2.7 Calico工程 221
10.2.8 Romana 222
10.2.9 Weave Net 222
10.3 有效使用網絡策略 223
10.4 負載均衡選項 224
10.4.1 外部負載均衡器 225
10.4.2 服務負載均衡器 228
10.4.3 入口 228
10.5 編寫自己的CNI插件 231
10.6 總結 236
第 11章 在云平臺和集群聯邦中運行Kubernetes 237
11.1 理解集群聯邦 237
11.1.1 集群聯邦的重要用例 238
11.1.2 聯邦控制平面 240
11.1.3 聯邦資源 241
11.1.4 高難度部分 245
11.2 管理Kubernetes集群聯邦 248
11.3 從底層建立集群聯邦 248
11.3.1 初始設置 249
11.3.2 使用官方hyperkube鏡像 249
11.3.3 運行聯邦控制平面 249
11.3.4 用聯邦注冊Kubernetes集群 250
11.3.5 更新KubeDNS 251
11.3.6 關閉聯邦 251
11.3.7 用Kubefed建立集群聯邦 251
11.4 運行聯邦工作負載 257
11.4.1 創建聯邦服務 257
11.4.2 添加后端Pod 258
11.4.3 驗證公共DNS記錄 258
11.4.4 發現聯邦服務 259
11.4.5 后端Pod和整個集群的故障處理 261
11.4.6 故障排除 261
11.5 總結 262
第 12章 自定義Kubernetes API和插件 264
12.1 使用Kubernetes API 264
12.1.1 理解OpenAPI 264
12.1.2 設置代理 265
12.1.3 直接探索Kubernetes API 265
12.1.4 通過Kubernetes API創建Pod 268
12.1.5 通過Python客戶端訪問Kubernetes API 269
12.2 擴展Kubernetes API 275
12.2.1 理解第三方資源的結構 276
12.2.2 開發第三方資源 276
12.2.3 整合第三方資源 277
12.3 編寫Kubernetes插件 278
12.4 編寫授權插件 284
12.4.1 編寫準入控制接口 284
12.4.2 編寫自定義度量插件 287
12.4.3 編寫卷插件 288
12.5 總結 291
第 13章 操作Kubernetes軟件包管理器 292
13.1 理解Helm 292
13.1.1 Helm的動機 292
13.1.2 Helm架構 293
13.1.3 Helm組件 293
13.1.4 Helm與Helm-Classic 294
13.2 使用Helm 294
13.2.1 安裝Helm 294
13.2.2 尋找圖表 295
13.2.3 安裝包 297
13.2.4 使用安裝包庫 302
13.2.5 使用Helm管理圖表 303
13.3 創建自己的圖表 304
13.3.1 Chart.yaml文件 304
13.3.2 圖表元數據文件 306
13.3.3 管理圖表依賴 306
13.3.4 使用模板和值 309
13.4 總結 312
第 14章 Kubernetes的未來 313
14.1 未來發展道路 313
14.1.1 Kubernetes的發行版和里程碑 313
14.1.2 Kubernetes的特別興趣小組和工作組 314
14.2 面臨的挑戰 314
14.2.1 捆綁價值 314
14.2.2 Docker Swarm 315
14.2.3 Mesos/Mesosphere 315
14.2.4 云平臺 315
14.2.5 AWS 315
14.2.6 Azure 316
14.2.7 阿里云 316
14.3 Kubernetes勢頭 316
14.3.1 社區 316
14.3.2 GitHub 316
14.3.3 會議 316
14.3.4 思維共享 317
14.3.5 生態系統 317
14.3.6 公有云提供商 317
14.4 教育和培訓 318
14.5 動態插件 318
14.6 總結 319
本書通過理論與實踐相結合,全方位地介紹Kubernetes這一容器編排的理想工具。本書共14章,涉及的主題包括理解Kubernetes架構,創建Kubernetes集群,監控、日志記錄和故障排除,高可用性和可靠性,配置Kubernetes安全、限制和賬戶,使用關鍵Kubernetes資源,管理Kubernetes存儲,使用Kubernetes運行有狀態應用程序,滾動更新、可伸縮性和配額,高級Kubernetes網絡,在云平臺和集群聯邦中運行Kubernetes,自定義Kubernetes API和插件,操作Kubernetes軟件包管理器以及Kubernetes的未來。本書綜合考慮不同環境和用例,使讀者了解如何創建大型系統并將其部署在Kubernetes上。在各章節主題中,讀者提供了豐富的實踐案例分析,娓娓道來,引人入勝。
本書可以作為Kubernetes的實踐參考手冊,聚焦于設計和管理Kubernetes集群,為開發人員、運維工程師詳細介紹了Kubernetes所提供的功能和服務。
pagetop