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