本文档简要介绍了 Google Distributed Cloud (GDC) 气隙环境中的 Managed Harbor Service (MHS)。
MHS 是一项基于开源 Harbor 项目的全代管式容器注册表。将 MHS 集成到 GDC 环境中,可提供一种安全、可伸缩的方式来管理隔离环境中容器制品的生命周期,而无需手动维护。
本概要介绍了在 GDC 网闸隔离配置环境中使用 MHS 所需的基础概念,包括 GDC 项目与 Harbor 实例项目之间的关系。它还详细介绍了基础架构级 Identity and Access Management (IAM) 角色与注册表级基于角色的访问权限控制 (RBAC) 之间的管理边界,以及自动垃圾回收和服务性能限制等核心功能。
本文档适用于平台管理员或应用运维人员组中使用和管理 GDC 中 MHS 的开发者。 如需了解详情,请参阅 GDC 网闸隔离配置 文档的受众。
GDC 中托管 Harbor 服务的工作原理
运营层面
GDC MHS 在网络架构的两个不同的功能层上运行。每个层都支持特定操作:
- 管理平面:用于创建和删除 Harbor 注册表实例。
- 数据平面:用于在 Harbor 实例中推送和拉取容器映像。
GDC 项目与 Harbor 实例项目的区别
托管 Harbor 服务 涉及两种不同的项目类型。了解这些实体之间的互动有助于确保您在适当的层级管理资源和访问权限控制:
GDC 项目:用于基础架构管理的组织部门。使用此项目管理 Harbor 注册表实例以及其他 GDC 资源,例如虚拟机和集群。
- 限制:一个 GDC 项目只能包含一个 Harbor 实例。不过,该单个实例可以在多个 GDC 项目之间共享,以便为您的环境提供集中式注册表。
- 访问权限:需要 GDC 项目级 IAM 角色才能执行实例创建、管理和管理任务。
Harbor 实例项目:Harbor 实例中用于制品管理的逻辑分组。使用此项目整理容器映像和代码库级访问权限。
- 限制:一个 Harbor 实例支持多个 Harbor 项目。这些项目可以分配给各个团队或用户,以便在共享注册表中实现多租户。
- 访问权限:需要注册表专用的 RBAC 角色才能管理代码库、执行管理任务和控制项目中的制品访问权限。
特性
Harbor 是 Cloud Native Computing Foundation (CNCF) 毕业的开源项目,为 Kubernetes 和 Docker 提供内置的云容器注册表解决方案。通过代管式服务集成,您可以部署 Harbor 实例,以便在 GDC 上存储和管理制品。MHS 提供以下特性:
- Harbor 实例由 GDC 自动预配和管理。
- Harbor 与 IAM 集成以进行身份验证。
- Harbor 支持通过项目服务账号进行程序化访问,以实现自动化工作负载。
- Harbor 实例可以升级到较新的稳定版本。
- Harbor 经过增强,可满足 GDC 的合规性和质量要求。
- Harbor 实例是可用区级资源;它部署在一个可用区中,但可以从 GDC 部署宇宙中的任何可用区访问。
MHS 的基于角色的访问权限控制
GDC 在两个不同的层级对 Managed Harbor Service (MHS) 强制执行基于角色的访问权限控制 (RBAC):GDC 项目级和 Harbor 注册表项目级。
项目服务账号使用 IAM 颁发的短期身份令牌以编程方式进行身份验证。这样就不需要手动创建和管理 Harbor 机器人账号。虽然服务帐号的 IAM 角色允许与 Harbor 实例互动,但您仍必须为其分配相应的 Harbor 注册表项目角色,以授权执行特定数据操作。
如需控制对注册表的访问权限,请在平台级和代码库级配置权限。
GDC 项目访问权限的 IAM 角色
GDC 使用 IAM 角色管理项目级权限。您可以将这些角色分配给用户和项目服务账号,以控制对 Harbor 实例的访问权限。
- 对于平台管理员和用户:在程序文档中确定与您的特定任务相关的所需角色,并向组织 IAM 管理员请求访问权限。如需了解详情,请参阅授予和撤消访问权限。
- 对于服务账号:向项目服务账号授予这些相同的 IAM 角色,以便为自动化工作负载(例如注册表实例管理和制品部署)启用程序化身份验证。
- 对于基础架构运维人员:请参阅 GDC MHS 服务手册,以确定特定运维任务所需的 IAM 角色。
Harbor 项目访问权限的注册表角色
Harbor 项目使用自己的一组 RBAC 机制,这些机制独立于 IAM 角色运行。如需管理代码库和制品,用户和项目服务账号都必须在 Harbor 项目级直接分配所需的角色。
如需详细了解 Harbor 的特定角色和权限,请参阅 Harbor 文档中的管理用户访问权限。
性能
Google 已测试并验证 MHS,以支持 系统限制中指定的限制。
实际性能限制可能会更高。
垃圾回收
当您使用 MHS 向注册表添加和删除映像时,未使用的数据可能会随着时间的推移而累积。为避免存储资源紧张,MHS 会每 12 小时自动执行一次垃圾回收。您无需手动配置垃圾回收。
后续步骤
配置工作区和项目以开始管理容器映像: