Kubernetes雲原生數據管理 Managing Cloud Native Data on Kubernetes: Architecting Cloud Native Data Services Using Open Source Technology

Carpenter, Jeff, McFadin, Patrick 「DaoCloud道客」HwameiStor開源團隊

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

商品描述

本書圍繞 Kubernetes 雲原生數據基礎設施,介紹瞭如何通過 Kubernetes 管理數據存儲,如何通過 Helm 和 Operator 在 Kubernetes 上自動部署和管理數據庫,闡述了數據流式傳輸和數據分析的過程,探討了在機器學習及其他新興用例中如何使用 Kubernetes 雲原生數據等。本書不僅深入闡述了雲原生基礎設施的發展歷程和處理方式,而且分門別類地為每個場景提供了可以直接運行的示例代碼,以便讀者學習和練習。本書結構與英文原版保持一致,是 DaoCloud 雲原生數據存儲專家經反復校對後提供的譯本。本書適合從事雲端設計、構建和運行應用的開發人員,以及架構師和雲原生工程師。無論你是Kubernetes 數據存儲方面的“新手”還是有經驗的“老兵”,相信本書都能讓你有所受益。

目錄大綱

序....................................................................................xv
前言................................................................................xix
第 1 章 雲原生數據基礎設施 :持久化、流式傳輸與批量分析.............. 1
基礎設施類型 ................................................................................................................2
雲原生數據是什麽 .........................................................................................................3
數據基礎設施越多,問題越多 ......................................................................................5
Kubernetes 引領潮流......................................................................................................6
Kubernetes 計算管理 ..............................................................................................7
Kubernetes 網絡管理 ..............................................................................................8
Kubernetes 存儲管理 ..............................................................................................8
雲原生數據組件 .............................................................................................................9
迎接變革 ...................................................................................................................... 11
採用 SRE 思維方式 .............................................................................................. 11
遵循雲原生數據基礎設施準則 ............................................................................. 13
小結 ............................................................................................................................. 15
第 2 章 通過 Kubernetes 管理數據存儲................................... 16
Docker,容器和狀態 ................................................................................................... 16
在 Docker 中管理狀態 .......................................................................................... 17
ix
綁定掛載 .............................................................................................................. 18
捲 ......................................................................................................................... 19
Tmpfs 掛載 ........................................................................................................... 20
捲驅動程序........................................................................................................... 20
Kubernetes 數據存儲資源 ............................................................................................ 22
Pod 和捲 ............................................................................................................... 22
PV ........................................................................................................................ 28
PVC ...................................................................................................................... 32
StorageClass ......................................................................................................... 35
Kubernetes 存儲架構.................................................................................................... 37
Flexvolume ........................................................................................................... 37
CSI ....................................................................................................................... 38
CAS ...................................................................................................................... 40
COSI .................................................................................................................... 42
小結 ............................................................................................................................. 44
第 3 章 打造 Kubernetes 數據庫........................................... 45
困難模式 ...................................................................................................................... 45
在 Kubernetes 上運行數據基礎設施的前提 ................................................................. 46
在 Kubernetes 上運行 MySQL ..................................................................................... 47
ReplicaSet .................................................................................................................... 48
Deployment .......................................................................................................... 49
Service .................................................................................................................. 53
訪問 MySQL......................................................................................................... 56
在 Kubernetes 上運行 Apache Cassandra ..................................................................... 58
StatefulSet ............................................................................................................ 60
訪問 Cassandra ..................................................................................................... 70
小結 ............................................................................................................................. 72
第 4 章 通過 Helm 在 Kubernetes 上自動部署數據庫.................. 73
通過 Helm Chart 部署應用 ........................................................................................... 74
通過 Helm 部署 MySQL .............................................................................................. 75
Helm 的工作方式 ................................................................................................. 78
Label .................................................................................................................... 80
ServiceAccount ..................................................................................................... 81
Secret.................................................................................................................... 81
ConfigMap ............................................................................................................ 82
更新 Helm Chart ................................................................................................... 84
卸載 Helm Chart ................................................................................................... 85
使用 Helm 部署 Apache Cassandra .............................................................................. 85
親和性與反親和性 ............................................................................................... 87
Helm、CI/CD 及 Operator .................................................................................... 90
小結 ............................................................................................................................. 92
第 5 章 通過 Operator 自動管理 Kubernetes 數據庫...................93
擴展 Kubernetes 控制平面 ........................................................................................... 94
擴展 Kubernetes 客戶端 ....................................................................................... 94
擴展 Kubernetes 主節點組件 ................................................................................ 95
擴展 Kubernetes 工作節點組件 ............................................................................ 96
Operator 模式 ............................................................................................................... 97
控制器 .................................................................................................................. 97
自定義資源........................................................................................................... 99
Operator ............................................................................................................. 101
使用 Vitess Operator 管理 Kubernetes MySQL .......................................................... 103
Vitess 概述 ......................................................................................................... 103
PlanetScale Vitess Operator ................................................................................ 106
不斷發展的 Operator 生態體系 .................................................................................. 116
選擇 Operator ..................................................................................................... 116
構建 Operator ..................................................................................................... 119
小結 ........................................................................................................................... 121
第 6 章 在 Kubernetes 上集成數據基礎設施............................ 123
K8ssandra:生產就緒的 Kubernetes 上的 Cassandra ................................................. 123
K8ssandra 架構 ................................................................................................... 124
安裝 K8ssandra Operator .................................................................................... 125
創建 K8ssandraCluster ....................................................................................... 128
使用 Cass Operator 在 Kubernetes 上管理 Cassandra ................................................. 130
使用 Stargate API 提高開發人員的工作效率 ............................................................. 134
基於 Prometheus 和 Grafana 的統一監控基礎設施 .................................................... 136
使用 Cassandra Reaper 進行修復 ............................................................................... 140
使用 Cassandra Medusa 進行數據備份與恢復 ........................................................... 142
創建備份 ............................................................................................................ 143
備份恢復 ............................................................................................................ 144
在 Kubernetes 上部署多集群應用 .............................................................................. 145
小結 ........................................................................................................................... 151
第 7 章 Kubernetes 原生數據庫.......................................... 152
為什麽需要 Kubernetes 原生方式 .............................................................................. 152
使用 TiDB 進行大規模混合數據訪問 ........................................................................ 154
TiDB 架構 .......................................................................................................... 155
在 Kubernetes 上部署 TiDB................................................................................ 157
配置 DataStax Astra DB 的無服務器 Cassandra ......................................................... 165
在 Kubernetes 原生數據庫中尋找什麽....................................................................... 172
基本要求 ............................................................................................................ 172
Kubernetes 原生技術的未來 ............................................................................... 174
小結 ........................................................................................................................... 176
第 8 章 Kubernetes 數據流式傳輸........................................ 177
流式傳輸簡介 ............................................................................................................ 177
傳輸類型 ............................................................................................................ 178
傳輸保證 ............................................................................................................ 179
功能範圍 ............................................................................................................ 180
流式傳輸在 Kubernetes 上的作用 .............................................................................. 181
通過 Apache Pulsar 在 Kubernetes 上實現流式傳輸 .................................................. 183
準備環境 ............................................................................................................ 186
使用 cert-manager 配置默認的安全通信 .................................................................... 188
通過 Helm 部署 Apache Pulsar ........................................................................... 192
通過 Apache Flink 進行流分析 .................................................................................. 192
在 Kubernetes 上部署 Apache Flink ................................................................... 195
小結 ........................................................................................................................... 197
第 9 章 Kubernetes 數據分析.............................................198
數據分析簡介 ............................................................................................................ 199
在 Kubernetes 上部署分析工作負載 .......................................................................... 200
Apache Spark 簡介 ..................................................................................................... 203
在 Kubernetes 上部署 Apache Spark .......................................................................... 204
構建自定義容器 ................................................................................................. 206
提交並運行應用 ................................................................................................. 206
Apache Spark 專用的 Kubernetes Operator ................................................................ 207
Kubernetes 調度器替代品 .......................................................................................... 210
Apache YuniKorn ................................................................................................ 212
Volcano ............................................................................................................... 214
Kubernetes 專用分析引擎 .......................................................................................... 217
Dask ................................................................................................................... 219
Ray ..................................................................................................................... 221
小結 ........................................................................................................................... 223
第 10 章 機器學習及其他新興用例..........................................224
雲原生 AI/ML 技術棧 ................................................................................................ 224
AI/ML 定義 ........................................................................................................ 225
定義 AI/ML 技術棧 ............................................................................................ 227
使用 KServe 進行實時模型服務 ......................................................................... 228
使用 Feast 進行特徵的全生命周期管理 ............................................................. 231
使用 Milvus 進行向量相似度搜索 ..................................................................... 234
使用 Apache Arrow 實現高效的數據移動 .................................................................. 236
使用 lakeFS 管理對象存儲的版本 ............................................................................. 239
小結 ........................................................................................................................... 242
第 11 章 將數據工作負載遷移到 Kubernetes 上........................244
願景:應用感知平臺 ................................................................................................. 244
描繪成功的藍圖 ......................................................................................................... 246
人員 .................................................................................................................... 247
技術 .................................................................................................................... 250
流程 .................................................................................................................... 256
雲原生數據的未來 ..................................................................................................... 261
小結 ........................................................................................................................... 264
關於作者..........................................................................266
關於封面..........................................................................266