本文档简要介绍了 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 与 GDC 的 IAM 集成,用于身份验证和可观测性系统。
- Harbor 实例可以升级到较新的稳定版本。
- Harbor 经过增强,可满足 GDC 的合规性和质量要求。
- Harbor 实例是可用区级资源;它部署在一个可用区中,但可从 GDC 部署环境中的任何可用区访问。
Identity and Access Management (IAM)
受管 Harbor 服务的 RBAC 同时应用于 GDC 项目级层和 Harbor 注册表项目级层。具有相应 IAM 角色的用户可以访问和管理 GDC 项目中的 Harbor 实例,而具有相应 Harbor 注册表项目角色的用户可以管理 Harbor 项目中的制品并执行管理任务。
GDC 项目 IAM 角色
GDC 使用 GDC-IAM 角色分配项目级权限。在 MHS 程序文档中找到所需角色,然后让组织 IAM 管理员授予您访问权限。
如需执行基础设施运维人员 (IO) 操作,请查看 GDC MHS 服务手册,找到您的任务所需的 IAM 角色。
Harbor 注册表项目角色
Harbor 项目使用自己的一组 RBAC 机制,这些机制与 GDC IAM 角色不同。
如需管理 Harbor 注册表项目代码库和制品,您必须在 Harbor 项目级层拥有正确的 Harbor 角色。如需查看 Harbor 角色的列表,请参阅有关管理用户访问权限的 Harbor 文档:https://goharbor.io/docs/2.8.0/administration/managing-users/。
性能
Google 已对 MHS 进行测试和验证,以支持系统限制中指定的限制。
实际性能限制可能会更高。
垃圾回收
当您使用 MHS 向注册表中添加映像和从注册表中删除映像时,未使用的数据可能会随着时间的推移而不断累积。为避免存储资源紧张,MHS 会每 12 小时自动执行一次垃圾回收。您无需手动配置垃圾回收。
后续步骤
如需启用和使用 MHS,请查看以下文档: