注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)精通Kubernetes

精通Kubernetes

精通Kubernetes

定 價(jià):¥89.00

作 者: (美)吉吉·塞凡
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115536112 出版時(shí)間: 2020-07-01 包裝:
開本: 16開 頁數(shù): 319 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書通過理論與實(shí)踐相結(jié)合,全方位地介紹Kubernetes這一容器編排的理想工具。本書共14章,涉及的主題包括理解Kubernetes架構(gòu),創(chuàng)建Kubernetes集群,監(jiān)控、日志記錄和故障排除,高可用性和可靠性,配置Kubernetes安全、限制和賬戶,使用關(guān)鍵Kubernetes資源,管理Kubernetes存儲(chǔ),使用Kubernetes運(yùn)行有狀態(tài)應(yīng)用程序,滾動(dòng)更新、可伸縮性和配額,高級(jí)Kubernetes網(wǎng)絡(luò),在云平臺(tái)和集群聯(lián)邦中運(yùn)行Kubernetes,自定義Kubernetes API和插件,操作Kubernetes軟件包管理器以及Kubernetes的未來。本書綜合考慮不同環(huán)境和用例,使讀者了解如何創(chuàng)建大型系統(tǒng)并將其部署在Kubernetes上。在各章節(jié)主題中,讀者提供了豐富的實(shí)踐案例分析,娓娓道來,引人入勝。本書可以作為Kubernetes的實(shí)踐參考手冊(cè),聚焦于設(shè)計(jì)和管理Kubernetes集群,為開發(fā)人員、運(yùn)維工程師詳細(xì)介紹了Kubernetes所提供的功能和服務(wù)。

作者簡(jiǎn)介

  Gigi Sayfan是VRVIU的首席系統(tǒng)架構(gòu)師 ,他致力于開發(fā)軟件專業(yè)20多年,涉及的領(lǐng)域包括即時(shí)消息傳送、變形、芯片制造過程控制、用于游戲控制臺(tái)的嵌入式多媒體應(yīng)用、大腦啟發(fā)式機(jī)器學(xué)習(xí),定制瀏覽器開發(fā),3D分布式Web服務(wù)游戲平臺(tái)以及最近的物聯(lián)網(wǎng)/傳感器。他擅長(zhǎng)C、C++、C#、Python、Java等,以用于Windows(3.11至7)。他的技術(shù)專長(zhǎng)包括數(shù)據(jù)庫、分布式系統(tǒng)、非正統(tǒng)用戶界面。

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)