公有云容器化指南:騰訊云TKE實(shí)戰(zhàn)與應(yīng)用
定 價(jià):109 元
叢書名:云計(jì)算與虛擬化技術(shù)叢書
- 作者:邱寶 馮亮亮
- 出版時(shí)間:2020/12/1
- ISBN:9787111669364
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP393.027-62
- 頁(yè)碼:0
- 紙張:
- 版次:
- 開本:16開
內(nèi)容簡(jiǎn)介
這是一本面向公有云容器產(chǎn)品學(xué)習(xí)者和使用者的實(shí)戰(zhàn)指南。由騰訊云云計(jì)算技術(shù)專家撰寫,以騰訊云TKE容器產(chǎn)品為例,在普及開源容器知識(shí)的基礎(chǔ)上,結(jié)合多種標(biāo)準(zhǔn)方法和豐富案例,全方位地講解了上云容器化的方法和技巧。
本書一共7章,每一章都是作者云上容器化落地的經(jīng)驗(yàn)總結(jié)。
第1~2章有針對(duì)性的講解了Docker和Kubernetes等開源的容器技術(shù)的核心知識(shí),幫助讀者夯實(shí)基礎(chǔ);
第3~7章以騰訊云的容器產(chǎn)品TKE為例,分兩條主線:明線詳細(xì)講解了TKE的產(chǎn)品架構(gòu)、產(chǎn)品功能、標(biāo)準(zhǔn)化操作、運(yùn)維和企業(yè)級(jí)應(yīng)用案例;暗線系統(tǒng)總結(jié)了上云容器化的方法和技巧。
這本書將幫助讀者了解開源容器知識(shí)以及企業(yè)級(jí)公有云容器化操作,讓讀者逐步走進(jìn)高效、低成本的云上容器世界,快速邁向云原生。
前言
第1章 Docker容器基礎(chǔ)1
1.1 什么是容器技術(shù)1
1.1.1 什么是容器1
1.1.2 容器技術(shù)的特點(diǎn)3
1.1.3 容器的標(biāo)準(zhǔn)化3
1.1.4 容器的主要應(yīng)用場(chǎng)景4
1.2 什么是Docker5
1.2.1 Docker簡(jiǎn)介5
1.2.2 Docker的組成架構(gòu)7
1.3 安裝Docker8
1.3.1 安裝的前提條件8
1.3.2 在CentOS 7.3上安裝Docker9
1.3.3 在Windows 10 Pro上安裝Docker11
1.4 Docker的基本用法11
1.4.1 用容器啟動(dòng)一個(gè)Nginx/MySQL/Redis服務(wù)12
1.4.2 如何進(jìn)入容器16
1.4.3 如何停止、刪除容器17
1.5 Docker鏡像的基本操作18
1.5.1 獲取鏡像18
1.5.2 列出鏡像20
1.5.3 導(dǎo)出/導(dǎo)入鏡像22
1.5.4 刪除本地鏡像23
1.5.5 使用commit構(gòu)建鏡像24
1.6 用Dockerfile專業(yè)化定制鏡像26
1.6.1 什么是Dockerfile26
1.6.2 常用的Dockerfile指令和語(yǔ)法27
1.7 鏡像倉(cāng)庫(kù)35
1.7.1 共有倉(cāng)庫(kù)35
1.7.2 私有倉(cāng)庫(kù)37
1.8 存儲(chǔ)基本配置39
1.8.1 什么是數(shù)據(jù)卷39
1.8.2 創(chuàng)建、掛載數(shù)據(jù)卷40
1.8.3 共享、同步數(shù)據(jù)卷42
1.8.4 備份、還原數(shù)據(jù)卷43
1.9 網(wǎng)絡(luò)基本配置45
1.9.1 網(wǎng)絡(luò)模型45
1.9.2 Docker原生的網(wǎng)絡(luò)驅(qū)動(dòng)47
1.9.3 Docker網(wǎng)絡(luò)操作的基本命令48
1.10 Docker API的基本介紹和使用方式53
1.10.1 什么是API53
1.10.2 Docker API的種類54
1.10.3 API使用前的準(zhǔn)備55
1.10.4 操作Docker API55
第2章 Kubernetes基礎(chǔ)58
2.1 什么是容器云58
2.1.1 當(dāng)前云計(jì)算的發(fā)展58
2.1.2 什么是IaaS、PaaS和SaaS59
2.1.3 容器云介紹61
2.2 什么是Kubernetes62
2.2.1 Kubernetes的基本介紹62
2.2.2 Kubernetes的技術(shù)架構(gòu)65
2.2.3 Kubernetes解決了什么69
2.3 Kubernetes的基礎(chǔ)知識(shí)70
2.4 深入理解Pod73
2.4.1 什么是Pod73
2.4.2 Pod的內(nèi)部機(jī)制74
2.4.3 Pod的資源使用機(jī)制79
2.4.4 Pod的基本操作命令80
2.5 如何編寫Pod YAML文件81
2.5.1 什么是YAML文件81
2.5.2 Pod YAML的參數(shù)定義82
2.6 如何理解編排85
2.6.1 通俗地理解編排85
2.6.2 Kubernetes與編排86
2.7 五種Kubernetes控制器88
2.7.1 為什么要有控制器88
2.7.2 Kubernetes有哪些控制器89
2.8 Kubernetes的網(wǎng)絡(luò)91
2.8.1 虛擬化網(wǎng)絡(luò)基礎(chǔ)91
2.8.2 Docker的網(wǎng)絡(luò)92
2.8.3 Kubernetes網(wǎng)絡(luò)詳解92
2.9 Kubernetes的存儲(chǔ)98
2.9.1 存儲(chǔ)虛擬化介紹98
2.9.2 Kubernetes存儲(chǔ)機(jī)制設(shè)計(jì)100
2.9.3 Kubernetes CSI106
2.10 Kubernetes的安全機(jī)制108
2.10.1 節(jié)點(diǎn)側(cè)安全108
2.10.2 Docker側(cè)安全109
2.10.3 Kubernetes側(cè)安全110
2.10.4 Kubernetes安全策略113
2.10.5 更安全的Kata Containers116
2.10.6 容器云平臺(tái)安全的未來(lái)117
2.11 Kubernetes監(jiān)控117
2.11.1 Pod的實(shí)時(shí)狀態(tài)數(shù)據(jù)117
2.11.2 Pod的業(yè)務(wù)監(jiān)控實(shí)現(xiàn)119
2.12 Kubernetes單點(diǎn)搭建121
2.12.1 安裝環(huán)境121
2.12.2 初始化操作121
2.12.3 master節(jié)點(diǎn)初始化操作123
2.12.4 加入節(jié)點(diǎn)124
2.12.5 master節(jié)點(diǎn)安裝進(jìn)度124
2.12.6 安裝flannel網(wǎng)絡(luò)插件125
2.12.7 安裝calico網(wǎng)絡(luò)插件127
2.12.8 搭建總結(jié)129
2.13 Kubernetes高可用搭建130
2.13.1 安裝環(huán)境130
2.13.2 初始化操作131
2.13.3 master節(jié)點(diǎn)初始化操作132
2.13.4 加入其他master節(jié)點(diǎn)133
2.13.5 加入節(jié)點(diǎn)134
2.13.6 master節(jié)點(diǎn)安裝進(jìn)度134
2.13.7 master節(jié)點(diǎn)安裝flannel網(wǎng)絡(luò)插件135
2.13.8 master節(jié)點(diǎn)安裝calico網(wǎng)絡(luò)插件138
2.13.9 搭建總結(jié)140
2.14 Kubernetes儀表板可視化141
2.14.1 私鑰、證書簽名和secret生成141
2.14.2 部署儀表板142
2.14.3 登錄儀表板146
2.15 Kubernetes的API與源碼147
2.15.1 Kubernetes的版本環(huán)境147
2.15.2 認(rèn)證方式147
2.15.3 訪問(wèn)測(cè)試148
2.15.4 API示例149
2.15.5 代碼解析155
2.15.6 主要功能介紹158
第3章 騰訊云TKE產(chǎn)品介紹184
3.1 產(chǎn)品介紹184
3.1.1 騰訊云TKE名詞解釋185
3.1.2 Docker鏡像名詞解釋186
3.1.3 快速創(chuàng)建容器應(yīng)用流程187
3.1.4 基于騰訊云TKE的業(yè)務(wù)交付187
3.2 騰訊云TKE產(chǎn)品架構(gòu)188
3.3 騰訊云TKE產(chǎn)品功能189
3.3.1 集群管理189
3.3.2 應(yīng)用管理190
3.3.3 服務(wù)管理190
3.3.4 配置項(xiàng)管理191
3.3.5 鏡像管理191
3.4 騰訊云TKE產(chǎn)品優(yōu)勢(shì)192
3.4.1 騰訊云TKE與自建容器服務(wù)對(duì)比192
3.4.2 周邊資源對(duì)比193
3.5 騰訊云TKE網(wǎng)絡(luò)193
3.5.1 什么是私有網(wǎng)絡(luò)193
3.5.2 GlobalRouter194
3.5.3 VPC-CNI197
3.6 騰訊云TKE與自建Kubernetes集群201
3.6.1 集群安裝和升級(jí)201
3.6.2 集群網(wǎng)絡(luò)201
3.6.3 存儲(chǔ)202
3.6.4 負(fù)載均衡器202
3.6.5 鏡像倉(cāng)庫(kù)202
3.6.6 集群運(yùn)維及技術(shù)支持202
3.6.7 資金及人力成本203
第4章 騰訊云TKE標(biāo)準(zhǔn)化操作204
4.1 容器應(yīng)用日志輸出標(biāo)準(zhǔn)204
4.2 容器日志采集205
4.2.1 容器日志分類205
4.2.2 容器日志采集類型206
4.3 制作基礎(chǔ)鏡像207
4.4 Dockerfile編寫規(guī)范212
4.5 容器業(yè)務(wù)類型214
4.5.1 騰訊云TKE集群類型214
4.5.2 節(jié)點(diǎn)類型215
4.5.3 工作負(fù)載選型215
4.5.4 業(yè)務(wù)StorageClass類型216
4.5.5 JVM內(nèi)存限制217
4.5.6 業(yè)務(wù)選型總結(jié)217
4.6 騰訊云TKE平臺(tái)使用規(guī)范218
第5章 騰訊云TKE應(yīng)用案例219
5.1 騰訊云Docker鏡像倉(cāng)庫(kù)授權(quán)連接GitLab219
5.1.1 鏡像倉(cāng)庫(kù)開通219
5.1.2 源代碼授權(quán)221
5.2 無(wú)狀態(tài)服務(wù)部署WordPress應(yīng)用224
5.2.1 Nginx和PHP基礎(chǔ)鏡像上傳至騰訊云TKE鏡像倉(cāng)庫(kù)224
5.2.2 驗(yàn)證鏡像推送成功226
5.2.3 將Dockerfile上傳至GitLab226
5.2.4 基于Dockerfile生成業(yè)務(wù)鏡像228
5.2.5 構(gòu)建鏡像產(chǎn)生的日志說(shuō)明230
5.2.6 業(yè)務(wù)鏡像生成驗(yàn)證231
5.2.7 創(chuàng)建MySQL安全組232
5.2.8 創(chuàng)建MySQL數(shù)據(jù)庫(kù)233
5.2.9 創(chuàng)建WordPress數(shù)據(jù)庫(kù)237
5.2.10 部署WordPress容器網(wǎng)站服務(wù)239
5.3 無(wú)狀態(tài)服務(wù)部署Java應(yīng)用249
5.4 有狀態(tài)服務(wù)部署MySQL應(yīng)用252
5.5 Job任務(wù)型服務(wù):Perl運(yùn)算260
5.6 CronJob定時(shí)任務(wù):echo定時(shí)應(yīng)用264
5.7 DaemonSet守護(hù)任務(wù):fluentd應(yīng)用268
5.8 TKE Helm部署WordPress271
5.8.1 Helm架構(gòu)272
5.8.2 開通TKE Helm272
5.8.3 Helm部署WordPress274
5.8.4 WordPress Chart部署信息275
5.8.5 訪問(wèn)驗(yàn)證277
5.9 Jenkins在TKE外網(wǎng)的架構(gòu)及實(shí)現(xiàn)278
5.9.1 Jenkins持續(xù)集成278
5.9.2 Jenkins在TKE平臺(tái)架構(gòu)中的應(yīng)用279
5.9.3 部署環(huán)境280
5.9.4 TKE集群側(cè)配置280
5.9.5 Jenkins側(cè)配置283
5.9.6 slave Pod構(gòu)建配置292
5.9.7 構(gòu)建測(cè)試296
5.9.8 自動(dòng)化構(gòu)建發(fā)布300
5.9.9 Jenkins批量構(gòu)建配置307
5.10 部署案例之ELK308
5.11 容器日志的三種采集配置方式312
5.12 藍(lán)綠部署328
5.13 灰度發(fā)布331
5.14 部署JMeter壓測(cè)工具336
5.15 部署Prometheus監(jiān)控341
5.16 部署Ingress kong網(wǎng)關(guān)347
5.17 部署Istio351
5.18 搭建Harbor倉(cāng)庫(kù)358
5.18.1 Harbor核心組件及部署環(huán)境358
5.18.2 非Harbor側(cè)配置359
5.18.3 Harbor側(cè)配置360
第6章 騰訊云TKE運(yùn)維和排障369
6.1 容器服務(wù)高危操作369
6.2 WordPress容器化業(yè)務(wù)操作排錯(cuò)總結(jié)371
6.3 騰訊云TKE排障之節(jié)點(diǎn)與網(wǎng)絡(luò)異常372
6.4 騰訊云TKE排障之Helm與鏡像倉(cāng)庫(kù)375
6.5 騰訊云TKE排障之Service和Ingress異常376
6.6 騰訊云TKE排障之Pod異常382
6.7 騰訊云TKE排障之?dāng)?shù)據(jù)卷異常384
6.8 騰訊云TKE排障之控制臺(tái)和監(jiān)控異常384
6.9 騰訊云TKE健康檢查385
6.9.1 腳本功能及使用385
6.9.2 自助健康檢查387
第7章 騰訊云TKE經(jīng)典實(shí)踐案例390
7.1 騰訊云TKE應(yīng)用跨區(qū)高可用部署方案(一)390
7.1.1 高可用部署架構(gòu)390
7.1.2 使用騰訊云TKE進(jìn)行高可用部署391
7.2 騰訊云TKE應(yīng)用跨區(qū)高可用部署方案(二)402
7.2.1 使用Pod親和性實(shí)現(xiàn)跨可用區(qū)部署403
7.2.2 部署原理分析408
7.3 騰訊自研業(yè)務(wù)上云:優(yōu)化Kubernetes集群負(fù)載的技術(shù)方案探討409
7.4 騰訊IEG游戲營(yíng)銷活動(dòng)在騰訊云TKE中的實(shí)踐415
7.5 基于騰訊云TKE的大規(guī)模強(qiáng)化學(xué)習(xí)實(shí)踐421
7.5.1 項(xiàng)目挑戰(zhàn)421
7.5.2 訓(xùn)練架構(gòu)421
7.5.3 業(yè)務(wù)需求422
7.5.4 基于騰訊云TKE的大規(guī)模分布式強(qiáng)化學(xué)習(xí)解決方案422
7.5.5 創(chuàng)新性424
7.5.6 使用騰訊云TKE帶來(lái)的價(jià)值424
7.5.7 遇到的問(wèn)題426
7.6 云智天樞AI中臺(tái)在騰訊云TKE中的實(shí)踐427
7.6.1 云智天樞平臺(tái)架構(gòu)427
7.6.2 各核心窗口的架構(gòu)設(shè)計(jì)429
7.7 某視頻公司基于騰訊云TKE的微服務(wù)實(shí)踐434
7.7.1 Spring Cloud微服務(wù)架構(gòu)介紹434
7.7.2 Spring Cloud與Kubernetes的優(yōu)勢(shì)互補(bǔ)436
7.7.3 業(yè)務(wù)部署模式438
7.7.4 未來(lái)規(guī)劃439