l 全面讲解精通Harbor所需的方方面面:架构、原理、功能、部署与配置、运维、定制化开发、API、项目治理和成功案例等
l 很多用户关注的内容在书中都有详尽讲解:Harbor的架构原理;OCI制品的支持方式;高可用制品仓库的设计要点;镜像等制品的扫描;权限和安全策略;备份与恢复策略;API使用指南等。
l 并对用户使用Harbor的常见问题进行分析和解答
l 涵盖众多企业使用Harbor的案例
在云原生生态中,容器镜像和其他云原生制品的管理与分发是至关重要的一环。本书对开源云原生制品仓库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
温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录
Harbor是中国第一个CNCF开源项目,也是中国第一个达到CNCF毕业要求的项目。我们很高兴看到其社区在全球蓬勃发展,许多企业都成功使用了Harbor。本书由Harbor项目维护者和贡献者撰写,内容涉及Harbor 2.0的架构、原理、配置和案例等重要内容,希望您喜欢阅读本书。
——CNCF总经理 Priyanka Sharma
本书由Harbor项目维护者和贡献者倾力编撰,立意新颖、思路清晰,涵盖了Harbor的设计思想、技术原理、配置架构和应用案例等丰富内容,既高屋建瓴地阐释了云原生技术的核心原理,也深入浅出地解析了容器落地的优秀实践,是云计算、人工智能、大数据等计算机领域的工程师、架构师、开发者和开源贡献者了解云原生应用,特别是容器和镜像技术的优秀参考书,也适合理工类大学生阅读和学习。
——微众银行首席人工智能官、香港科技大学教授 杨强
云原生技术已经成为现代化应用的基石,Harbor作为国内云原生领域的先行者,提供了容器镜像等云原生制品的强大管理能力,深得用户喜爱。本书由Harbor项目维护者和贡献者倾力撰写,内容丰富且鞭辟入里,是云原生架构师、开发及运维人员的优秀参考书。
——VMware全球副总裁、大中华区总裁 郭尊华
本书是中国重量级的云原生技术著作之一,它的发布恰逢其时。本书作者都是Harbor项目的原创开发者和“骨灰”级的社区维护者,包括张海宁、邹佳、任茂盛、姜坦、尹文开、王岩、裴明明等。读者通过本书可全面了解云原生技术,特别是容器镜像等云原生制品的原理、特点和实践方法。
——VMware中国研发中心总经理 任道远
本书内容涉及Harbor组件介绍、源码解析及生态融合等,结构清晰、案例丰富,具有很强的实操性。面对云原生的浪潮,我们很有必要深入理解Harbor这样的云原生基础软件。相信阅读本书会有助于我们快速入门、进阶乃至精通Harbor。
——网易云计算中心总经理 陈谔
Harbor系出名门,其团队开发者主要来自中国。经过多年的发展,Harbor已经成为全球知名的开源容器镜像管理项目。本书由Harbor项目维护者和贡献者亲手撰写,是一本非常专业而且全面的技术参考书,对Harbor初学者或者高阶学者都会有非常大的帮助。
——开源中国&Gitee创始人 红薯
Harbor在云原生生态中占据着非常重要的位置,是在私有环境下分发云原生应用制品的重要工具。了解它的工作原理和优秀实践,将是运维人员的一门必修课。
——CNCF应用交付领域联席主席、Kubernetes项目资深维护者 张磊
云原生和容器技术是当今被广泛应用的IT基础设施,Henry所在的VMware则是容器技术浪潮中的排头兵,其中的优秀项目便是Henry和其团队所创建的Harbor项目,而且这个云原生基础设施项目一直蓬勃发展至今。相信本书对于想构架企业级容器基础设施的读者都有重要的参考价值。
——Kata Containers架构委员会成员 王旭
容器镜像仓库承载着重要的容器化资产,是企业通过容器实现云原生架构转型的利器。Harbor是业界领先的镜像仓库,具备三大鲜明优势:功能丰富,稳定性好;开源,扩展性强;由中国团队一手打造并成为CNCF开源项目。我与本书作者相识多年,作为Harbor早期参与者之一,我深度认可本书作者的技术洞察力和Harbor的巨大价值。本书深入浅出,既阐释了具体的技术实现,又引申了相关方法论和优秀实践,是云原生技术从业者的快速进阶读物。
——前才云CEO、字节跳动火山引擎副总经理 张鑫
Harbor是一个健壮且易于使用的开源容器镜像管理工具,已经成为企业级容器云平台的重要组成部分,且经过多年的开源、演进,具备丰富的特性和实用功能。本书融合Harbor技术原理、开发实践和项目案例于一体,可帮助读者深入了解和使用Harbor。
——浙江移动架构师 陈远峥
云原生代表的是一种全新的基础设施思维方式,随之而来的是一套全新的IT基础设施生态,其中有些经典概念仍然重要,比如资源(制品、应用)管理和分发。随着容器的普及,镜像分发成为整个容器生命周期中的重要一环,Harbor无疑是该领域的佼佼者。很高兴看到本书问世,本书作者就来自 Harbor 团队,开发、运维人员通过阅读本书一定能更好地理解和使用Harbor。
——PingCAP联合创始人兼CTO 黄东旭
360搜索容器云团队以开源镜像仓库Harbor为基石,结合事业群与集团内部的需求进行定制化开发,为搜索容器云平台提供了坚实、可靠、强大、易用的容器镜像存储、管理、分发服务。这是一本镜像管理方面难得的参考书,非常有参考价值。
——360搜索事业群高级总监 张华
Harbor为容器用户提供了镜像仓库服务,国内的容器用户基本上都在使用它。本书的出版为我们广大用户带来了很大的福利,我们终于可以专业地使用Harbor了。
——积梦智能CEO、beego作者 谢孟军
张海宁带领的团队是国内很早就拥抱和推广云原生架构的团队之一。他们作为布道者,敏锐地发起了Harbor项目,使Harbor成为云原生架构在企业落地不可或缺的组件之一,也是有着国际影响力的优秀开源项目代表。本书对从事云创新研发的团队有很高的学习、参考和借鉴价值。
——广州市品高软件股份有限公司联合创始人、董事和技术总监 刘忻
Harbor是国内开发者贡献到CNCF的开源项目并于今年毕业,有很高的成熟度。本书不仅给读者提供了精确的使用指引,还呈现了Harbor的详细架构,可以让读者深入理解Harbor的工作原理,其中丰富的用户使用案例和落地场景也非常有参考价值。
——CNCF官方大使、京东技术架构部产品经理 张丽颖
短短4年多,Harbor就从VMware实验室里的一个创新项目,发展成为有着全球广泛用户的云原生制品库,还成为了中国第一个CNCF开源项目,这是中国云原生迈出的重要一步。骞云既是Harbor用户,也是其产品技术合作伙伴。本书涵盖了Harbor架构、原理、开发及众多案例分析,内容详尽、透彻,无论是对于云原生工程师、架构师、开发者,还是对于Harbor用户,都非常有参考价值。
——上海骞云信息科技有限公司创始人和CEO 方礼