博文視點雲原生精品叢書《Harbor權威指南:容器鏡像、Helm Chart等雲原生製品的管理與實踐》是2020年9月電子工業出版社出版的圖書,作者為張海寧 等。
基本介紹
- 中文名:Harbor權威指南:容器鏡像、Helm Chart等雲原生製品的管理與實踐
- 作者:張海寧
- 出版社:電子工業出版社
- 出版時間:2020年9月
- 頁數:500 頁
- 定價:128.00 元
- 開本:16 開
- ISBN:9787121396854
內容簡介,圖書目錄,作者簡介,
內容簡介
在雲原生生態中,容器鏡像和其他雲原生製品的管理與分發是至關重要的一環。《Harbor權威指南:容器鏡像、Helm Chart等雲原生製品的管理與實踐》對開源雲原生製品倉庫Harbor展開全面講解,由Harbor開源項目維護者和貢獻者傾力撰寫,內容涵蓋Harbor的架構、原理、功能、部署與配置、運維、定製化開發、API、項目治理和成功案例等,很多未公開發表的內容在書中都有詳盡講解,如:Harbor的架構原理;OCI製品的支持方式;高可用製品倉庫的設計要點;鏡像等製品的掃描;許可權和安全策略;備份與恢復策略;API使用指南等。
無論是對於Harbor用戶、開發者和貢獻者,還是對於雲原生軟體開發工程師、測試工程師、運維工程師、IT架構師和IT技術經理,抑或是對於計算機相關學科的高校學生來說,這本書都有非常重要的指導和參考價值。
圖書目錄
第1章 雲原生環境下的製品管理 1
1.1 雲原生套用概述 2
1.2 容器技術簡介 5
1.2.1 容器技術的發展背景 5
1.2.2 容器的基本原理 7
1.2.3 容器運行時 8
1.3 虛擬機和容器的融合 14
1.3.1 vSphere Pod 14
1.3.2 Kata Containers 16
1.4 容器鏡像的結構 17
1.4.1 鏡像的發展 17
1.4.2 Docker鏡像的結構 18
1.4.3 Docker鏡像的倉庫存儲結構 20
1.4.4 Docker鏡像的本地存儲結構 24
1.4.5 OCI鏡像規範 25
1.5 鏡像管理和分發 34
1.5.1 Docker鏡像管理和分發 34
1.5.2 OCI分發規範 35
1.5.3 OCI Artifact 37
1.6 鏡像倉庫Registry 40
1.6.1 Registry的作用 41
1.6.2 公有Registry服務 43
1.6.3 私有Registry服務 43
1.6.4 Harbor Registry 44
第2章 功能和架構概述 47
2.1 核心功能 47
2.1.1 訪問控制 48
2.1.2 鏡像簽名 49
2.1.3 鏡像掃描 50
2.1.4 高級管理功能 52
2.2 組件簡介 58
2.2.1 整體架構 58
2.2.2 核心組件 59
2.2.3 可選組件 63
第3章 安裝Harbor 65
3.1 在單機環境下安裝Harbor 65
3.1.1 基本配置 66
3.1.2 離線安裝 74
3.1.3 線上安裝 76
3.1.4 源碼安裝 77
3.2 通過Helm Chart安裝Harbor 80
3.2.1 獲取Helm Chart 80
3.2.2 配置Helm Chart 81
3.2.3 安裝Helm Chart 95
3.3 高可用方案 96
3.3.1 基於Harbor Helm Chart的高可用方案 96
3.3.2 多Kubernetes集群的高可用方案 99
3.3.3 基於離線安裝包的高可用方案 101
3.4 存儲系統配置 105
3.4.1 AWS的Amazon S3 106
3.4.2 網路檔案系統NFS 108
3.4.3 阿里雲的對象存儲OSS 108
3.5 Harbor初體驗 110
3.5.1 管理控制台 110
3.5.2 在Docker中使用Harbor 120
3.5.3 在Kubernetes中使用Harbor 121
3.6 常見問題 124
第4章 OCI Artifact的管理 125
4.1 Artifact功能的實現 125
4.1.1 數據模型 126
4.1.2 處理流程 128
4.2 鏡像及鏡像索引 131
4.3 Helm Chart 134
4.3.1 Helm 3 135
4.3.2 ChartMusuem的支持 139
4.3.3 ChartMuseum和OCI倉庫的比較 141
4.4 雲原生應用程式包CNAB 142
4.5 OPA Bundle 145
4.6 其他Artifact 147
第5章 訪問控制 149
5.1 概述 149
5.1.1 認證與授權 149
5.1.2 資源隔離 150
5.1.3 客戶端認證 152
5.2 用戶認證 153
5.2.1 本地資料庫認證 153
5.2.2 LDAP認證 154
5.2.3 OIDC認證 159
5.3 訪問控制與授權 169
5.3.1 基於角色的訪問策略 169
5.3.2 用戶與分組 170
5.4 機器人賬戶 173
5.5 常見問題 175
第6章 安全策略 177
6.1 可信內容分發 177
6.1.1 TUF與Notary 178
6.1.2 內容信任 182
6.1.3 Helm 2 Chart簽名 186
6.2 外掛程式化的漏洞掃描 188
6.2.1 整體設計 190
6.2.2 掃描器管理 192
6.2.3 掃描API規範 193
6.2.4 掃描管理 197
6.2.5 異步掃描任務 201
6.2.6 與掃描相關的API 202
6.3 使用漏洞掃描功能 207
6.3.1 系統掃描器 207
6.3.2 項目掃描器 209
6.3.3 項目漏洞掃描 210
6.3.4 全局漏洞掃描 213
6.3.5 自動掃描 214
6.3.6 與漏洞關聯的部署安全策略 214
6.3.7 已支持的外掛程式化掃描器 216
6.4 常見問題 218
第7章 內容的遠程複製 220
7.1 基本原理 220
7.2 設定Artifact倉庫服務 223
7.3 複製策略 225
7.3.1 複製模式 225
7.3.2 過濾器 225
7.3.3 觸發方式 226
7.3.4 創建複製策略 228
7.3.5 執行複製策略 229
7.4 Harbor實例之間的內容複製 231
7.5 與第三方倉庫服務之間的內容複製 232
7.5.1 與Docker Hub之間的內容複製 233
7.5.2 與Docker Registry之間的內容複製 234
7.5.3 與阿里雲鏡像倉庫之間的內容複製 235
7.5.4 與AWS ECR之間的內容複製 236
7.5.5 與GCR之間的內容複製 236
7.5.6 與Helm Hub之間的內容複製 237
7.6 典型使用場景 238
7.6.1 Artifact的分發 238
7.6.2 雙向同步 239
7.6.3 DevOps鏡像流轉 240
7.6.4 其他場景 241
第8章 高級管理功能 242
8.1 資源配額管理 242
8.1.1 基本原理 242
8.1.2 設定項目配額 247
8.1.3 設定系統配額 247
8.1.4 配額的使用 249
8.1.5 配額超限的提示 252
8.2 垃圾回收 253
8.2.1 基本原理 253
8.2.2 觸發方式 256
8.2.3 垃圾回收的執行 257
8.3 不可變Artifact 258
8.3.1 基本原理 259
8.3.2 設定不可變Artifact的規則 260
8.3.3 使用不可變Artifact的規則 262
8.4 Artifact保留策略 263
8.4.1 基本原理 263
8.4.2 設定保留策略 265
8.4.3 模擬運行保留策略 269
8.4.4 觸發保留策略 271
8.5 Webhook 272
8.5.1 基本原理 273
8.5.2 設定Webhook 276
8.5.3 與其他系統的互動 280
8.6 多語言支持 284
8.7 常見問題 286
第9章 生命周期管理 288
9.1 備份與恢復 288
9.1.1 數據備份 288
9.1.2 Harbor的恢復 290
9.1.3 基於Helm的備份與恢復 291
9.1.4 基於鏡像複製的備份和恢復 292
9.2 版本升級 295
9.2.1 數據遷移 296
9.2.2 升級Harbor 299
9.3 系統排錯方法 300
9.4 常見問題 305
9.4.1 配置檔案不生效 305
9.4.2 Docker重啟後Harbor無法啟動 305
9.4.3 在丟失secret key的情況下刪除已簽名的鏡像 306
9.4.4 丟失了系統管理員admin的密碼 307
第10章 API的使用方法 308
10.1 API概述 308
10.1.1 核心管理API概述 309
10.1.2 Registry API概述 313
10.2 核心管理API 315
10.2.1 用戶管理API 315
10.2.2 項目管理API 317
10.2.3 倉庫管理API 319
10.2.4 Artifact管理API 319
10.2.5 遠程複製API 322
10.2.6 掃描API 324
10.2.7 垃圾回收API 326
10.2.8 項目配額API 327
10.2.9 Tag保留API 328
10.2.10 不可變Artifact API 329
10.2.11 Webhook API 330
10.2.12 系統服務API 331
10.2.13 API控制中心 332
10.3 Registry API 336
10.3.1 Base API 337
10.3.2 Catalog API 337
10.3.3 Tag API 337
10.3.4 Manifest API 338
10.3.5 Blob API 338
10.4 API編程實例 339
10.5 小結 340
第11章 異步任務系統 341
11.1 系統設計 341
11.1.1 基本架構 342
11.1.2 任務編程模型 350
11.1.3 任務執行模型 353
11.1.4 任務執行流程解析 354
11.1.5 系統日誌 357
11.1.6 系統配置 358
11.1.7 REST API 360
11.2 核心代碼解讀 364
11.2.1 代碼目錄結構 365
11.2.2 主函式入口 366
11.2.3 系統的啟動過程 367
11.2.4 API伺服器的啟動過程 371
11.2.5 任務運行器的執行過程 375
11.2.6 系統中的關鍵子模組 379
11.3 常見問題 400
11.3.1 如何排除故障 401
11.3.2 狀態不一致 402
第12章 套用案例 404
12.1 Harbor功能的集成 404
12.1.1 vSphere 7.0 404
12.1.2 Tanzu Kubernetes Grid 412
12.1.3 P2P鏡像分發 414
12.1.4 雲原生的聯邦學習平台 420
12.2 成功案例 423
12.2.1 網易輕舟微服務平台 423
12.2.2 京東零售鏡像服務 428
12.2.3 品高雲企業級DevOps實戰 431
12.2.4 騫雲SmartCMP容器即服務 434
12.2.5 才雲容器雲平台 435
12.2.6 360容器雲平台的Harbor高可用方案 440
第13章 社區治理和發展 443
13.1 Harbor社區治理 443
13.1.1 治理模式 443
13.1.2 安全回響機制 446
13.1.3 社區參與方式 449
13.1.4 參與項目貢獻 451
13.2 項目展望 463
13.2.1 鏡像代理 463
13.2.2 P2P鏡像預熱 464
13.2.3 Harbor Operator 466
13.2.4 非阻塞垃圾回收 467
附錄A 辭彙表 471
作者簡介
張海寧
VMware中國研發中心雲原生實驗室技術總監,Harbor開源項目創建者及維護者,擁有多年軟體架構設計及全棧開發經驗,為多個開源項目貢獻者,Cloud Foundry中國社區較早的技術布道師之一,“亨利筆記”公眾號作者,從事雲原生、機器學習及區塊鏈等領域的創新工作。
鄒佳
VMware中國研發中心主任工程師,Harbor開源項目架構師及核心維護者,擁有十多年軟體研發及架構經驗,獲得PMP資格認證及多項技術專利授權。曾在HPE、IBM等多家企業擔任資深軟體工程師,專注於雲計算及雲原生等領域的研究與創新。
王岩
VMware中國研發中心高級研發工程師,Harbor開源項目維護者,負責Harbor多項核心功能的開發,專注於雲原生、Kubernetes、Docker等領域的技術研究及創新。
尹文開
VMware中國研發中心高級研發工程師,Harbor開源項目維護者,從Harbor的原型研發開始一直參與Harbor項目,長期從事容器領域的研究及開發工作。
任茂盛
VMware中國研發中心高級研發經理,Harbor開源項目維護者,在網路、虛擬化、雲計算及雲原生領域有豐富的產品開發及管理經驗。在VMware先後負責vSphere、OpenStack、Tanzu等現代套用平台產品的開發。
姜坦
VMware中國研發中心主任工程師,Harbor開源項目核心維護者,畢業於北京航空航天大學,從事雲原生領域的軟體開發工作。
裴明明
網易杭州研究院輕舟雲原生架構師,Harbor開源項目維護者,主要負責網易輕舟雲原生DevOps體系設計、研發及落地等,在雲原生、DevOps、微服務架構等領域擁有豐富的經驗。
鄧謙
VMware中國研發中心研發工程師,Harbor開源項目貢獻者,參與了Harbor多個組件及功能的開發工作,多次參與Harbor的技術活動支持及分享,在雲原生及監控系統等領域擁有豐富的經驗。
何威威
VMware中國研發中心高級研發工程師,Harbor開源項目貢獻者,專注於性能測試調優、雲原生等領域的技術研發。
孔礬建
騰訊高級工程師,負責騰訊雲鏡像倉庫產品的研發;Harbor開源項目維護者,深耕容器鏡像存儲及分發、雲存儲、雲原生套用領域。
張子明
VMware中國研發中心高級研發工程師,Harbor開源項目貢獻者。擁有多年軟體全棧開發經驗,對雲原生、配置管理等領域有較深入的研究。
陳家豪
VMware中國研發中心研發工程師,專注於容器、網路及分散式技術的研發,積極參與開源社區的建設,是區塊鏈開源項目Hyperledger Cello的維護者之一,也是聯邦學習開源項目FATE及KubeFATE等的貢獻者。深耕虛擬化、雲計算及區塊鏈等領域。
張道軍
VMware中國研發中心主任工程師,Harbor開源項目貢獻者,畢業於北京航空航天大學。關注套用性能監控、性能調優、雲原生等領域。
陳德
騰訊專有雲平台研發工程師,Harbor開源項目維護者,主要負責騰訊雲原生有狀態服務管理平台的設計及開發,並實現服務的自動化運維管理。