| 作者 |
| 张海宁 等 |
| 丛书名 |
| 博文视点云原生精品丛书 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121396854 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 在云原生生态中,容器镜像和其他云原生制品的管理与分发是至关重要的一环。本书对开源云原生制品仓库Harbor展开全面讲解,由Harbor开源项目维护者和贡献者倾力撰写,内容涵盖Harbor的架构、原理、功能、部署与配置、运维、定制化开发、API、项目治理和成功案例等,很多未公开发表的内容在本书中都有详尽讲解,如:Harbor的架构原理;OCI制品的支持方式;高可用制品仓库的设计要点;镜像等制品的扫描;权限和安全策略;备份与恢复策略;API使用指南等。 |
| 目录 |
| 第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 |