公有雲容器化指南:騰訊雲TKE實戰與應用

邱 寶 馮亮亮 著

  • 出版商: 機械工業
  • 出版日期: 2020-12-01
  • 定價: $654
  • 售價: 7.9$517
  • 貴賓價: 7.5$491
  • 語言: 簡體中文
  • 頁數: 470
  • 裝訂: 平裝
  • ISBN: 7111669363
  • ISBN-13: 9787111669364
  • 相關分類: DockerKubernetes雲端運算
  • 立即出貨

買這商品的人也買了...

商品描述

這是一本面向公有雲容器產品學習者和使用者的實戰指南。
由騰訊雲資深雲計算技術專家撰寫,以騰訊雲TKE容器產品為例,在普及開源容器知識的基礎上,
結合多種標準方法和豐富案例,全方位地講解了上雲容器化的方法和技巧。
本書一共7章,每一章都是作者雲上容器化落地的經驗總結。
第1~2章有針對性的講解了Docker和Kubernetes等開源的容器技術的核心知識,幫助讀者夯實基礎。
第3~7章以騰訊雲的容器產品TKE為例,分兩條主線:明線詳細講解了TKE的產品架構、
產品功能、標準化操作、運維和企業級應用案例;暗線系統總結了上雲容器化的方法和技巧。
這本書將幫助讀者瞭解開源容器知識以及企業級公有雲容器化操作,
讓讀者逐步走進高效、低成本的雲上容器世界,快速邁向雲原生。

作者簡介

邱寶 

資深雲計算工程師,12年運維、雲計算從業經驗,曾就職於法國電信、IBM等知名企業,目前就職於騰訊雲。
擅長ELK、OpenStack、Kubernetes等開源技術,曾以專家身份參與多家知名企業私有云、
大數據日誌分析等項目培訓與方案設計,擁有豐富的雲建設和架構優化經驗。
目前專注云計算產品、上雲解決方案的研究和應用。

馮亮亮

資深雲計算工程師,擁有多年雲計算行業從業經驗,曾就職於環球易購,目前就職於騰訊雲。
專注於雲計算和運維架構等方面的研究,在雲計算運維架構、業務上雲領域有著非常豐富的項目經

目錄大綱

前言
第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專業化定製鏡像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 什麽是數據捲39
1.8.2 創建、掛載數據捲40
1.8.3 共享、同步數據捲42
1.8.4 備份、還原數據捲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 當前雲計算的發展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的參數定義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 節點側安全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監控117
2.11.1 Pod的實時狀態數據117
2.11.2 Pod的業務監控實現119
2.12 Kubernetes單點搭建121
2.12.1 安裝環境121
2.12.2 初始化操作121
2.12.3 master節點初始化操作123
2.12.4 加入節點124
2.12.5 master節點安裝進度124
2.12.6 安裝flannel網絡插件125
2.12.7 安裝calico網絡插件127
2.12.8 搭建總結129
2.13 Kubernetes高可用搭建130
2.13.1 安裝環境130
2.13.2 初始化操作131
2.13.3 master節點初始化操作132
2.13.4 加入其他master節點133
2.13.5 加入節點134
2.13.6 master節點安裝進度134
2.13.7 master節點安裝flannel網絡插件135
2.13.8 master節點安裝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的版本環境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 快速創建容器應用流程187
3.1.4 基於騰訊雲TKE的業務交付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產品優勢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編寫規範212
4.5 容器業務類型214
4.5.1 騰訊雲TKE集群類型214
4.5.2 節點類型215
4.5.3 工作負載選型215
4.5.4 業務StorageClass類型216
4.5.5 JVM內存限制217
4.5.6 業務選型總結217
4.6 騰訊雲TKE平臺使用規範218

第5章 騰訊雲TKE應用案例219
5.1 騰訊雲Docker鏡像倉庫授權連接GitLab219
5.1.1 鏡像倉庫開通219
5.1.2 源代碼授權221
5.2 無狀態服務部署WordPress應用224
5.2.1 Nginx和PHP基礎鏡像上傳至騰訊雲TKE鏡像倉庫224
5.2.2 驗證鏡像推送成功226
5.2.3 將Dockerfile上傳至GitLab226
5.2.4 基於Dockerfile生成業務鏡像228
5.2.5 構建鏡像產生的日誌說明230
5.2.6 業務鏡像生成驗證231
5.2.7 創建MySQL安全組232
5.2.8 創建MySQL數據庫233
5.2.9 創建WordPress數據庫237
5.2.10 部署WordPress容器網站服務239
5.3 無狀態服務部署Java應用249
5.4 有狀態服務部署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外網的架構及實現278
5.9.1 Jenkins持續集成278
5.9.2 Jenkins在TKE平臺架構中的應用279
5.9.3 部署環境280
5.9.4 TKE集群側配置280
5.9.5 Jenkins側配置283
5.9.6 slave Pod構建配置292
5.9.7 構建測試296
5.9.8 自動化構建發布300
5.9.9 Jenkins批量構建配置307
5.10 部署案例之ELK308
5.11 容器日誌的三種採集配置方式312
5.12 藍綠部署328
5.13 灰度發布331
5.14 部署JMeter壓測工具336
5.15 部署Prometheus監控341
5.16 部署Ingress kong網關347
5.17 部署Istio351
5.18 搭建Harbor倉庫358
5.18.1 Harbor核心組件及部署環境358
5.18.2 非Harbor側配置359
5.18.3 Harbor側配置360

第6章 騰訊雲TKE運維和排障369
6.1 容器服務高危操作369
6.2 WordPress容器化業務操作排錯總結371
6.3 騰訊雲TKE排障之節點與網絡異常372
6.4 騰訊雲TKE排障之Helm與鏡像倉庫375
6.5 騰訊雲TKE排障之Service和Ingress異常376
6.6 騰訊雲TKE排障之Pod異常382
6.7 騰訊雲TKE排障之數據捲異常384
6.8 騰訊雲TKE排障之控制台和監控異常384
6.9 騰訊雲TKE健康檢查385
6.9.1 腳本功能及使用385
6.9.2 自助健康檢查387

第7章 騰訊雲TKE經典實踐案例390
7.1 騰訊雲TKE應用跨區高可用部署方案(一)390
7.1.1 高可用部署架構390
7.1.2 使用騰訊雲TKE進行高可用部署391
7.2 騰訊雲TKE應用跨區高可用部署方案(二)402
7.2.1 使用Pod親和性實現跨可用區部署403
7.2.2 部署原理分析408
7.3 騰訊自研業務上雲:優化Kubernetes集群負載的技術方案探討409
7.4 騰訊IEG游戲營銷活動在騰訊雲TKE中的實踐415
7.5 基於騰訊雲TKE的大規模強化學習實踐421
7.5.1 項目挑戰421
7.5.2 訓練架構421
7.5.3 業務需求422
7.5.4 基於騰訊雲TKE的大規模分佈式強化學習解決方案422
7.5.5 創新性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的優勢互補436
7.7.3 業務部署模式438
7.7.4 未來規劃439