Harbor權(quán)威指南:容器鏡像、Helm Chart等云原生制品的管理與實踐
 
		
	
		
					 定  價:128 元 
					
								  叢書名:博文視點云原生精品叢書
					
				 
				 
				  
				
				   
				 
				  
				
						
								
									當(dāng)前圖書已被 31 所學(xué)校薦購過!
								
								
									查看明細
								 
							 
							
							
								
							
				 
	
				
					
						- 作者:張海寧 等
 - 出版時間:2020/9/1
 
						- ISBN:9787121396854
 
						- 出 版 社:電子工業(yè)出版社
 
					
				  
  
		
				- 中圖法分類:TP311.5 
  - 頁碼:500
 - 紙張:
 - 版次:01
 - 開本:16開
 
				
					 
					
			
				
  
   
 
	 
	 
	 
	
	
	
		
		在云原生生態(tài)中,容器鏡像和其他云原生制品的管理與分發(fā)是至關(guān)重要的一環(huán)。本書對開源云原生制品倉庫Harbor展開全面講解,由Harbor開源項目維護者和貢獻者傾力撰寫,內(nèi)容涵蓋Harbor的架構(gòu)、原理、功能、部署與配置、運維、定制化開發(fā)、API、項目治理和成功案例等,很多未公開發(fā)表的內(nèi)容在本書中都有詳盡講解,如:Harbor的架構(gòu)原理;OCI制品的支持方式;高可用制品倉庫的設(shè)計要點;鏡像等制品的掃描;權(quán)限和安全策略;備份與恢復(fù)策略;API使用指南等。
		
	
張海寧VMware中國研發(fā)中心云原生實驗室技術(shù)總監(jiān),Harbor開源項目創(chuàng)建者及維護者,擁有多年軟件全棧開發(fā)經(jīng)驗,為多個開源項目貢獻者,“亨利筆記”公眾號作者,從事云原生、機器學(xué)習(xí)及區(qū)塊鏈領(lǐng)域的創(chuàng)新工作。鄒佳VMware中國研發(fā)中心主任工程師,Harbor開源項目架構(gòu)師及核心維護者,擁有十多年軟件研發(fā)及架構(gòu)經(jīng)驗,專注于云原生等領(lǐng)域的研發(fā)與創(chuàng)新,獲得PMP資格認證及多項技術(shù)專利授權(quán)。王巖VMware中國研發(fā)中心高級研發(fā)工程師,Harbor開源項目維護者,專注于云原生、Kubernetes、Docker等領(lǐng)域的技術(shù)研究及創(chuàng)新。尹文開VMware中國研發(fā)中心高級研發(fā)工程師,Harbor開源項目維護者,長期從事容器領(lǐng)域的研究及開發(fā)工作。任茂盛VMware中國研發(fā)中心高級研發(fā)經(jīng)理,Harbor開源項目維護者,在網(wǎng)絡(luò)、虛擬化、云計算及云原生領(lǐng)域擁有豐富的產(chǎn)品開發(fā)及管理經(jīng)驗。姜坦VMware中國研發(fā)中心主任工程師,Harbor開源項目核心維護者,從事云原生領(lǐng)域的軟件開發(fā)工作。裴明明網(wǎng)易杭州研究院輕舟云原生架構(gòu)師,Harbor開源項目維護者,主要負責(zé)網(wǎng)易輕舟云原生DevOps體系設(shè)計、研發(fā)及落地等,在云原生、DevOps、微服務(wù)架構(gòu)等領(lǐng)域擁有豐富的經(jīng)驗。鄧謙VMware中國研發(fā)中心研發(fā)工程師,Harbor開源項目貢獻者,參與了Harbor多個組件及功能的開發(fā)工作,在云原生及監(jiān)控系統(tǒng)等領(lǐng)域擁有豐富的經(jīng)驗。何威威VMware中國研發(fā)中心高級研發(fā)工程師,Harbor開源項目貢獻者,專注于性能測試調(diào)優(yōu)、云原生等領(lǐng)域的技術(shù)研發(fā)。孔礬建騰訊高級工程師,負責(zé)騰訊云鏡像倉庫產(chǎn)品的研發(fā);Harbor開源項目維護者,深耕容器鏡像存儲及分發(fā)、云存儲、云原生應(yīng)用領(lǐng)域。張子明VMware中國研發(fā)中心高級研發(fā)工程師,Harbor開源項目貢獻者。擁有多年軟件全棧開發(fā)經(jīng)驗,對云原生、配置管理等領(lǐng)域有較深入的研究。陳家豪VMware中國研發(fā)中心研發(fā)工程師,專注于容器、網(wǎng)絡(luò)及分布式技術(shù)的研發(fā),積極參與開源社區(qū)的建設(shè)。深耕虛擬化、云計算及區(qū)塊鏈等領(lǐng)域。張道軍VMware中國研發(fā)中心主任工程師,Harbor開源項目貢獻者。關(guān)注應(yīng)用性能監(jiān)控、性能調(diào)優(yōu)、云原生等領(lǐng)域。陳德騰訊專有云平臺研發(fā)工程師,Harbor開源項目維護者,主要負責(zé)騰訊云原生有狀態(tài)服務(wù)管理平臺的設(shè)計及開發(fā),并實現(xiàn)服務(wù)的自動化運維管理。
第1章  云原生環(huán)境下的制品管理	1
1.1  云原生應(yīng)用概述	2
1.2  容器技術(shù)簡介	5
1.2.1  容器技術(shù)的發(fā)展背景	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  容器鏡像的結(jié)構(gòu)	17
1.4.1  鏡像的發(fā)展	17
1.4.2  Docker鏡像的結(jié)構(gòu)	18
1.4.3  Docker鏡像的倉庫存儲結(jié)構(gòu)	20
1.4.4  Docker鏡像的本地存儲結(jié)構(gòu)	24
1.4.5  OCI鏡像規(guī)范	25
1.5  鏡像管理和分發(fā)	34
1.5.1  Docker鏡像管理和分發(fā)	34
1.5.2  OCI分發(fā)規(guī)范	35
1.5.3  OCI Artifact	37
1.6  鏡像倉庫Registry	40
1.6.1  Registry的作用	41
1.6.2  公有Registry服務(wù)	43
1.6.3  私有Registry服務(wù)	43
1.6.4  Harbor Registry	44
第2章  功能和架構(gòu)概述	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  整體架構(gòu)	58
2.2.2  核心組件	59
2.2.3  可選組件	63
第3章  安裝Harbor	65
3.1  在單機環(huán)境下安裝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  存儲系統(tǒng)配置	105
3.4.1  AWS的Amazon S3	106
3.4.2  網(wǎng)絡(luò)文件系統(tǒng)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功能的實現(xiàn)	125
4.1.1  數(shù)據(jù)模型	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  云原生應(yīng)用程序包CNAB	142
4.5  OPA Bundle	145
4.6  其他Artifact	147
第5章  訪問控制	149
5.1  概述	149
5.1.1  認證與授權(quán)	149
5.1.2  資源隔離	150
5.1.3  客戶端認證	152
5.2  用戶認證	153
5.2.1  本地數(shù)據(jù)庫認證	153
5.2.2  LDAP認證	154
5.2.3  OIDC認證	159
5.3  訪問控制與授權(quán)	169
5.3.1  基于角色的訪問策略	169
5.3.2  用戶與分組	170
5.4  機器人賬戶	173
5.5  常見問題	175
第6章  安全策略	177
6.1  可信內(nèi)容分發(fā)	177
6.1.1  TUF與Notary	178
6.1.2  內(nèi)容信任	182
6.1.3  Helm 2 Chart簽名	186
6.2  插件化的漏洞掃描	188
6.2.1  整體設(shè)計	190
6.2.2  掃描器管理	192
6.2.3  掃描API規(guī)范	193
6.2.4  掃描管理	197
6.2.5  異步掃描任務(wù)	201
6.2.6  與掃描相關(guān)的API	202
6.3  使用漏洞掃描功能	207
6.3.1  系統(tǒng)掃描器	207
6.3.2  項目掃描器	209
6.3.3  項目漏洞掃描	210
6.3.4  全局漏洞掃描	213
6.3.5  自動掃描	214
6.3.6  與漏洞關(guān)聯(lián)的部署安全策略	214
6.3.7  已支持的插件化掃描器	216
6.4  常見問題	218
第7章  內(nèi)容的遠程復(fù)制	220
7.1  基本原理	220
7.2  設(shè)置Artifact倉庫服務(wù)	223
7.3  復(fù)制策略	225
7.3.1  復(fù)制模式	225
7.3.2  過濾器	225
7.3.3  觸發(fā)方式	226
7.3.4  創(chuàng)建復(fù)制策略	228
7.3.5  執(zhí)行復(fù)制策略	229
7.4  Harbor實例之間的內(nèi)容復(fù)制	231
7.5  與第三方倉庫服務(wù)之間的內(nèi)容復(fù)制	232
7.5.1  與Docker Hub之間的內(nèi)容復(fù)制	233
7.5.2  與Docker Registry之間的內(nèi)容復(fù)制	234
7.5.3  與阿里云鏡像倉庫之間的內(nèi)容復(fù)制	235
7.5.4  與AWS ECR之間的內(nèi)容復(fù)制	236
7.5.5  與GCR之間的內(nèi)容復(fù)制	236
7.5.6  與Helm Hub之間的內(nèi)容復(fù)制	237
7.6  典型使用場景	238
7.6.1  Artifact的分發(fā)	238
7.6.2  雙向同步	239
7.6.3  DevOps鏡像流轉(zhuǎn)	240
7.6.4  其他場景	241
第8章  高級管理功能	242
8.1  資源配額管理	242
8.1.1  基本原理	242
8.1.2  設(shè)置項目配額	247
8.1.3  設(shè)置系統(tǒng)配額	247
8.1.4  配額的使用	249
8.1.5  配額超限的提示	252
8.2  垃圾回收	253
8.2.1  基本原理	253
8.2.2  觸發(fā)方式	256
8.2.3  垃圾回收的執(zhí)行	257
8.3  不可變Artifact	258
8.3.1  基本原理	259
8.3.2  設(shè)置不可變Artifact的規(guī)則	260
8.3.3  使用不可變Artifact的規(guī)則	262
8.4  Artifact保留策略	263
8.4.1  基本原理	263
8.4.2  設(shè)置保留策略	265
8.4.3  模擬運行保留策略	269
8.4.4  觸發(fā)保留策略	271
8.5  Webhook	272
8.5.1  基本原理	273
8.5.2  設(shè)置Webhook	276
8.5.3  與其他系統(tǒng)的交互	280
8.6  多語言支持	284
8.7  常見問題	286
第9章  生命周期管理	288
9.1  備份與恢復(fù)	288
9.1.1  數(shù)據(jù)備份	288
9.1.2  Harbor的恢復(fù)	290
9.1.3  基于Helm的備份與恢復(fù)	291
9.1.4  基于鏡像復(fù)制的備份和恢復(fù)	292
9.2  版本升級	295
9.2.1  數(shù)據(jù)遷移	296
9.2.2  升級Harbor	299
9.3  系統(tǒng)排錯方法	300
9.4  常見問題	305
9.4.1  配置文件不生效	305
9.4.2  Docker重啟后Harbor無法啟動	305
9.4.3  在丟失secret key的情況下刪除已簽名的鏡像	306
9.4.4  丟失了系統(tǒng)管理員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  遠程復(fù)制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  系統(tǒng)服務(wù)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  小結(jié)	340
第11章  異步任務(wù)系統(tǒng)	341
11.1  系統(tǒng)設(shè)計	341
11.1.1  基本架構(gòu)	342
11.1.2  任務(wù)編程模型	350
11.1.3  任務(wù)執(zhí)行模型	353
11.1.4  任務(wù)執(zhí)行流程解析	354
11.1.5  系統(tǒng)日志	357
11.1.6  系統(tǒng)配置	358
11.1.7  REST API	360
11.2  核心代碼解讀	364
11.2.1  代碼目錄結(jié)構(gòu)	365
11.2.2  主函數(shù)入口	366
11.2.3  系統(tǒng)的啟動過程	367
11.2.4  API服務(wù)器的啟動過程	371
11.2.5  任務(wù)運行器的執(zhí)行過程	375
11.2.6  系統(tǒng)中的關(guān)鍵子模塊	379
11.3  常見問題	400
11.3.1  如何排除故障	401
11.3.2  狀態(tài)不一致	402
第12章  應(yīng)用案例	404
12.1  Harbor功能的集成	404
12.1.1  vSphere 7.0	404
12.1.2  Tanzu Kubernetes Grid	412
12.1.3  P2P鏡像分發(fā)	414
12.1.4  云原生的聯(lián)邦學(xué)習(xí)平臺	420
12.2  成功案例	423
12.2.1  網(wǎng)易輕舟微服務(wù)平臺	423
12.2.2  京東零售鏡像服務(wù)	428
12.2.3  品高云企業(yè)級DevOps實戰(zhàn)	431
12.2.4  騫云SmartCMP容器即服務(wù)	434
12.2.5  前才云容器云平臺	435
12.2.6  360容器云平臺的Harbor高可用方案	440
第13章  社區(qū)治理和發(fā)展	443
13.1  Harbor社區(qū)治理	443
13.1.1  治理模式	443
13.1.2  安全響應(yīng)機制	446
13.1.3  社區(qū)參與方式	449
13.1.4  參與項目貢獻	451
13.2  項目展望	463
13.2.1  鏡像代理	463
13.2.2  P2P鏡像預(yù)熱	464
13.2.3  Harbor Operator	466
13.2.4  非阻塞垃圾回收	467
附錄A  詞匯表	471