创建 Harbor 项目

本文档将指导开发者和管理员如何使用 GDC 控制台或 gdcloud CLI 创建和验证 Harbor 项目。

您可以在 Google Distributed Cloud (GDC) 气隙设备中存储、保护和分发容器映像,方法是将它们整理到预配置的 tear-harbor 实例内的 Harbor 项目中。在 Harbor 中,项目是一个逻辑单元,用于将相关制品归为一组、管理映像以及应用特定政策、访问权限控制和复制规则。

tear 系统项目提供 tear-harbor 作为唯一可用的 Harbor 实例(适用于整个设备的一个预配置注册表),因此您无需为每个客户项目单独预配、升级或维护 Harbor 实例。这种集中式架构可消除基础架构开销,并让您通过一个共享注册表管理映像命名空间、访问权限控制和漏洞扫描。如需在任何客户项目中将此共享注册表用于工作负载,您必须在 tear 项目中创建 Harbor 角色,并直接在 tear 项目中创建 Harbor 项目。

准备工作

在开始之前,请确保满足以下要求:

  • 建议具备的知识:请确保您熟悉受管 Harbor 服务概览中涵盖的概念和架构。请务必了解 Harbor 是托管在 tear 项目中的共享资源,因为所有 Harbor 角色分配和项目创建任务都必须以 tear 项目为目标。
  • 初始化 Harbor 身份:您必须先登录 Harbor 界面至少一次,然后才能尝试在控制台中创建项目。初始登录会使用 Harbor 注册表初始化您的身份。如需了解详情,请参阅获取 Harbor 实例网址和初始化 Harbor 身份。

所需 IAM 角色

如需创建 Harbor 项目(包括您打算在客户项目中使用的 Harbor 项目),您必须在 tear 项目中创建并授予 Harbor Project Creator (harbor-project-creator) Identity and Access Management (IAM) 角色,以便访问 tear-harbor 实例。此角色为 tear 项目中 tear-harbor 实例内的 Harbor 项目自定义资源提供创建、获取和观看权限,让您可以为容器化应用定义新的映像命名空间并建立安全边界。

如需在 tear 项目中申请访问权限,请与您的 Project IAM Admin 联系。

获取 Harbor 实例网址

如需登录 Harbor 界面或使用 gdcloud CLI 管理映像,您需要注册表实例的外部端点网址:

  1. 使用 gdcloud CLI 获取 Harbor 实例网址:

    gdcloud harbor instances describe tear-harbor --project=tear
    

    输出类似于以下内容,通常包含 externalEndpoint 字段:

    externalEndpoint: https://harbor.tear.example.com
    
  2. 复制 externalEndpoint 网址,通过浏览器访问 Harbor 界面,并建立客户端信任身份验证。

如果您无法访问 gdcloud CLI,请与您的基础架构运维者 (IO) 联系以获取支持。

初始化 Harbor 身份

至少登录一次 Harbor 界面,以同步您的身份。此初始登录操作会在 Harbor 数据库中注册您的用户个人资料,以便系统识别您的权限:

  1. 在浏览器中,前往注册网址。
  2. 使用您的 GDC 凭据登录。

创建 Harbor 项目

由于 tear 项目中的 tear-harbor 是唯一可用的 Harbor 实例,并且充当整个设备的共享注册表,因此您必须在 tear 项目中创建所有 Harbor 项目,包括存储其他客户项目中工作负载映像的 Harbor 项目。使用 GDC 控制台或 gdcloud CLI 创建 Harbor 项目。

控制台

在 GDC 控制台中,按照以下步骤在 tear 项目中操作:

  1. 选择 tear 项目。
  2. 点击导航菜单中 CI/CD 部分的 Harbor Container Registry 链接。
  3. 点击创建 Harbor 项目。
  4. 输入 Harbor 项目的名称。
  5. 可选:漏洞扫描功能默认处于启用状态。如需为 Harbor 项目停用自动漏洞扫描,请点击为项目启用漏洞扫描切换开关。如需了解详情,请参阅扫描漏洞。
  6. 点击创建。系统会显示一条确认消息,告知您项目已创建。
  7. 登录 Harbor 界面,确认您可以查看 Harbor 项目。

gdcloud

在 tear 项目中创建 Harbor 项目:

gdcloud harbor harbor-projects create HARBOR_PROJECT \
  --project=tear \
  --instance=tear-harbor

将 HARBOR_PROJECT 替换为要创建的 Harbor 项目的名称。