Kubernetes生產化實踐之路

Kubernetes生產化實踐之路

Kubernetes生產化實踐之路》是2020年11月電子工業出版社出版的圖書,作者為孟凡傑、蘇菲、謝文利、李建強。

基本介紹

  • 中文名:Kubernetes生產化實踐之路
  • 作者:孟凡傑、蘇菲、謝文利、李建強
  • 出版社:電子工業出版社
  • 出版時間:2020年11月
  • 頁數:552 頁
  • 定價:138.00 元
  • 開本:16 開
  • ISBN:9787121399176
內容簡介,圖書目錄,作者簡介,

內容簡介

Kubernetes是由谷歌主導的基於容器技術的集群管理系統,其設計理念多數衍生自谷歌內部的集群管理系統的設計和運維經驗。《Kubernetes生產化實踐之路》從設計層面剖析了Kubernetes的設計原理,並闡述了其設計背後的生產系統問題。Kubernetes作為開放式平台,具有對不同類型的套用(有狀態套用或無狀態套用,線上服務或離線任務)進行統一管控的能力。本書從網際網路公司的視角出發,分享了如何構建高可用的多租戶集群,如何確保集群的穩定性和高性能。此外,本書闡述了數據面最佳化的重要性,並介紹了各個關鍵點,以確保使用物理機或虛擬機的套用在遷移至容器平台後能夠獲得最佳性能。
本書的適讀對象包括Kubernetes架構師、運維人員、測試工程師、技術經理,以及尋求套用落地方案的軟體架構師和開發人員。

圖書目錄

第1章 架構基礎 1
1.1 雲計算的變革 3
1.1.1 物理機時代 3
1.1.2 虛擬化時代 4
1.1.3 容器化時代 6
1.2 Kubernetes模型設計 11
1.2.1 對象的通用設計原則 11
1.2.2 模型設計 12
1.2.3 核心對象概覽 16
1.2.4 控制器模式 20
1.2.5 控制器的協同工作原理 23
1.3 Kubernetes核心架構 25
1.3.1 核心控制平面組件 26
1.3.2 工作節點控制平面組件 33
1.3.3 Pod詳解 43
第2章 計算節點管理 52
2.1 作業系統 55
2.2 檔案系統規劃 57
2.3 容器核心技術 58
2.3.1 Namespace 59
2.3.2 CGroups 64
2.3.3 容器運行時 71
2.3.4 容器存儲驅動 77
2.4 節點資源管理 82
2.4.1 狀態上報 82
2.4.2 資源預留 83
2.4.3 驅逐管理 84
2.4.4 容器和系統資源配置 87
2.5 存儲方案 99
2.5.1 存儲卷外掛程式管理 99
2.5.2 存儲的分類 102
2.6 節點調優 114
2.6.1 NUMA架構 114
2.6.2 CPU性能 115
2.6.3 記憶體 117
2.6.4 磁碟 120
2.6.5 網路性能 121
第3章 構建高可用集群 138
3.1 高可用的常用手段 141
3.2 Kubernetes高可用層級 144
3.3 控制平面的高可用保證 148
3.3.1 etcd高可用保證 149
3.3.2 API Server高可用保證 156
3.3.3 控制器高可用保證 164
3.3.4 集群的安全性保證 165
3.4 面向套用的高可用特性 173
3.5 模型驅動的集群搭建與管理 176
第4章 構建企業級鏡像倉庫 184
4.1 鏡像倉庫綜述 185
4.1.1 鏡像倉庫 185
4.1.2 鏡像管理 187
4.2 企業級鏡像倉庫 189
4.2.1 架構總覽 191
4.2.2 資料庫 193
4.2.3 塊存儲 194
4.2.4 鏡像倉庫實例部署 195
4.3 鏡像倉庫快取 196
4.3.1 鏡像分發的挑戰 196
4.3.2 鏡像快取服務拓撲 198
4.3.3 鏡像快取流量管理 199
4.3.4 高可用鏡像快取服務 199
4.4 鏡像安全 200
4.4.1 鏡像掃描 201
4.4.2 鏡像策略準入控制 206
4.4.3 鏡像安全監控 210
第5章 多租戶生產集群 213
5.1 租戶 214
5.1.1 多租戶支持 214
5.1.2 Kubernetes多租戶有限支持 216
5.1.3 Kubernetes租戶擴展 218
5.2 認證 222
5.2.1 Kubernetes認證 222
5.2.2 用戶認證 225
5.2.3 高負載認證實踐 227
5.3 授權 229
5.3.1 Kubernetes授權 230
5.3.2 租戶授權 235
5.3.3 特殊許可權管理 236
5.3.4 特殊許可權套用 238
5.4 隔離 243
5.4.1 節點隔離 244
5.4.2 容器隔離 247
5.4.3 網路策略隔離 249
5.5 配額 252
5.5.1 Kubernetes配額 252
5.5.2 高階配額 255
5.5.3 租戶配額 262
5.5.4 租戶配額實踐 265
第6章 網路接入方案 267
6.1 數據中心基礎架構 268
6.2 域名服務 270
6.3 Linux網路基礎 273
6.3.1 理解Linux網路協定棧工作機制 273
6.3.2 iptables 275
6.3.3 ipset 277
6.3.4 IPVS 278
6.4 負載均衡 280
6.4.1 負載均衡的實現機制 281
6.4.2 負載均衡的技術實現 283
6.4.3 負載均衡的部署模式 288
6.4.4 負載均衡策略 289
6.4.5 健康檢查 291
6.5 Kubernetes中的服務發布 291
6.5.1 創建服務 293
6.5.2 服務的類型 296
6.5.3 基於kube-proxy實現的流量轉發 300
6.5.4 Service高級特性 308
6.6 DNS 312
第7章 API網關和服務格線 315
7.1 API網關 316
7.2 服務格線 320
7.3 深入了解Envoy 322
7.3.1 Envoy發現機制 325
7.3.2 Envoy架構 330
7.4 Ingress 334
7.4.1 功能概述 334
7.4.2 Ingress的挑戰 336
7.5 Contour 337
7.5.1 架構 338
7.5.2 高級功能 341
7.6 Istio 350
7.6.1 架構 350
7.6.2 Sidecar 353
7.6.3 Ingress網關 360
7.6.4 金絲雀發布和流量灰度 363
7.6.5 安全保證 365
7.6.6 策略管理和遙測 368
7.6.7 數據平面加速 371
7.6.8 優勢和挑戰 372
第8章 集群聯邦 374
8.1 集群聯邦概覽 377
8.1.1 集群聯邦設計 377
8.1.2 集群註冊中心 379
8.1.3 聯邦共享邏輯 380
8.1.4 聯邦類型配置 384
8.1.5 同步控制器 385
8.1.6 副本調度控制器 386
8.1.7 全局DNS服務 388
8.2 集群聯邦對象抽象 390
8.2.1 集群資源 390
8.2.2 聯邦資源 391
8.2.3 定義联邦資源 393
8.2.4 聯邦資源管理 397
8.3 聯邦套用 398
8.3.1 聯邦套用規劃 400
8.3.2 聯邦套用部署 401
8.3.3 聯邦套用運維 402
8.3.4 集群聯邦的局限性與解決方案 409
第9章 邊緣計算 416
9.1 邊緣數據中心 417
9.1.1 智慧型域名服務(GSLB) 418
9.1.2 邊緣網路接入 420
9.1.3 規劃邊緣計算套用 428
9.2 KubeEdge 430
9.2.1 通信協定 432
9.2.2 CloudCore 440
9.2.3 EdgeCore 446
9.2.4 設備映射器 450
9.2.5 未來展望 455
第10章 套用落地 456
10.1 套用容器化 459
10.1.1 Dockerfile 459
10.1.2 容器化帶來的影響 463
10.2 套用接入的最佳實踐 466
10.2.1 資源定義 466
10.2.2 靈活定義Pod 468
10.2.3 套用配置 473
10.3 套用管理 477
10.3.1 無狀態套用 477
10.3.2 有狀態套用 480
10.3.3 Operator 483
10.4 集群套用運維 485
第11章 監控和自動修復 488
11.1 指標監控系統 491
11.1.1 監控系統的構建 492
11.1.2 Prometheus Operator 500
11.2 日誌管理系統 502
11.3 關鍵指標定義 504
11.4 自動修復系統 506
11.4.1 Node Problem Detector 506
11.4.2 自動修復控制器 509
11.5 事件監控系統 510
11.6 狀態監控系統 512
第12章 DevOps 513
12.1 擁抱DEVOPS 515
12.2 自治跨職能團隊 520
12.3 敏捷開發 523
12.4 GITOPS 529
12.5 質量保證 533

作者簡介

孟凡傑
eBay資深架構師,負責Kubernetes在企業落地過程中的架構和開發工作,專注於網路、多集群、服務治理和服務格線等方向。Kubernetes社區貢獻者,曾參與社區集群聯邦的開發和服務控制器重構等工作。CNUTCon全球運維大會、GIAC國際網際網路架構大會明星講師。
蘇菲
高級軟體工程師,Kubernetes專家。負責管理eBay Kubernetes雲平台容器運行時及其周邊模組,熟悉kubelet、CGroup、CNI等模組。主導eBay持續集成Pipeline的構建、容器運行時從Docker到Containerd的遷移、Minimal OS的管理等。
謝文利
eBay資深軟體工程師,Kubernetes社區貢獻者,經歷了從k8s 1.2開始的眾多版本在大規模雲環境下的升級和落地,輔助多個大型套用往Kubernetes上遷移,深度定製存儲外掛程式調度等Kubernetes模組,熱衷於解決容器化過程中碰到的各種問題,專注於Linux核心、性能最佳化、存儲、網路等方向。
李建強
eBay資深軟體工程師,負責Kubernetes生產化過程中的架構和研發工作。先後負責構建企業級高可用集群、鏡像安全保證(包括鏡像掃描及Kubernetes集成方案)、集群聯邦的構建與管理、雲原生多租戶的架構設計與落地等工作。

相關詞條

熱門詞條

聯絡我們