了解如何将 Harbor 安装和配置为 主管服务。然后,您可以将 Harbor 用作在 Tanzu Kubernetes Grid 集群和 vSphere Pod 上运行的工作负载的注册表。Harbor 需要将 Contour 作为输入控制器,因此请先安装 Contour 主管服务,然后再安装 Harbor。

添加 Contour 和 Harbor 主管服务

将 Harbor 和 Contour 安装到 主管 之前,您需要将服务定义 YAML 文件添加到 vSphere with Tanzu

前提条件

过程

  1. vSphere Client 主菜单中,选择工作负载管理
  2. 选择服务
  3. 从顶部的下拉菜单中选择 vCenter Server 系统。
  4. 添加 Contour 服务定义。
    1. 添加新服务卡片中,单击添加
    2. 单击上载,然后单击完成
  5. 按照上述步骤添加 Harbor 服务定义 YAML。

主管 上安装 Contour 和 Harbor

将 Contour 和 Harbor 服务定义添加到环境后,将它们安装在 主管 上。首先安装 Contour,然后安装 Harbor。

前提条件

警告: 将 Harbor 安装为 主管服务 时,系统将启动该 主管 上运行的所有 TKG 集群的滚动更新。
  • http://vmware.com/go/supervisor-service 的 Contour 和 Harbor 存储库中找到服务配置 YAML。
  • 为 Harbor 指定 FQDN 以访问 Harbor UI 和注册表。只能通过 FQDN 访问 Harbor 主管服务

过程

  1. 导航到要安装 Harbor 的 主管
  2. 单击配置
  3. 主管服务下,单击概览
  4. 选择可用选项卡。

    主管上的可用服务 UI,其中列出了 Contour 和 Harbor。
  5. 选择 Contour,然后单击安装
  6. YAML 服务配置字段中,复制并粘贴 Contour 服务配置。
    请勿更改 YAML 中设置的任何值。
    用于安装 Contour 的窗口,填充了服务配置字段。
  7. 单击确定
  8. 单击已安装选项卡,然后跟踪 Contour 的安装进度。
    服务将处于“正在配置”状态,直到达到所需状态为止。达到所需状态后,服务的状态将更改为“正在运行”。成功安装 Contour 后,您可以继续安装 Harbor。
  9. 打开 Harbor 服务配置文件并设置以下属性:
    属性 描述
    hostname FQDN 您指定用于访问 Harbor UI 和在客户端应用程序中引用注册表的 FQDN。
    tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} Tanzu Kubernetes Grid 用于在 Tanzu Kubernetes Grid 集群上将 Harbor CA 安装为受信任根的证书。
    persistence.persistentVolumeClaim.registry.storageClass 存储策略名称。 用于 Harbor 注册表 PVC 的存储类。
    persistence.persistentVolumeClaim.jobservice.storageClass 存储策略名称。 用于 Harbor 作业服务 PVC 的存储类。
    persistence.persistentVolumeClaim.database.storageClass 存储策略名称。 用于 Harbor 数据库 PVC 的存储类。
    persistence.persistentVolumeClaim.redis.storageClass 存储策略名称。 用于 Harbor Redis PVC 的存储类。
    persistence.persistentVolumeClaim.trivy.storageClass 存储策略名称。 用于 Harbor trivy PVC 的存储类。
    注: 请勿更改 enableContourHttpProxy network.ipFamilies 属性的值。Harbor 需要使用 Contour 才能正常工作,并且 主管 仅支持 IPV4 地址系列。
  10. 返回到 vSphere Client 中的可用服务选项卡,选择 Harbor,然后单击安装
  11. YAML 服务配置字段中,复制并粘贴 Harbor 服务配置。
  12. 单击确定
  13. 选择已安装选项卡并跟踪 Harbor 的安装过程。
    达到所需状态后,服务的状态将从“正在配置”更改为“正在运行”。该安装可能需要几分钟时间。
  14. 在配置了 主管 的外部 DNS 服务器中包含到 Envoy Ingress IP 地址的 Harbor FQDN 映射记录。
    Tanzu Kubernetes Grid 集群、 vSphere Pod主管 必须能够解析 Harbor FQDN,才能从注册表中提取映像。

    要查找 Envoy Ingress IP 地址,请导航到 Contour 命名空间,选择网络,然后选择服务


    屏幕截图显示 Envoy IP 地址。

与 Harbor 主管服务 建立信任

安装 Harbor 后,必须在 主管 之间配置信任,以将 Harbor 用作 vSphere Pod 的注册表。与 Harbor 位于同一 主管Tanzu Kubernetes Grid 集群已自动与 Harbor 建立信任关系。但是,必须在 Harbor 与未安装 Harbor 主管服务主管 上运行的 Tanzu Kubernetes Grid 集群之间配置信任。

在 Harbor 和 主管 之间建立信任

要在 Harbor 和 主管 之间建立信任,请执行以下操作:
  1. 从 Harbor UI 或使用 主管 控制平面上的 TLS 密钥提取 Harbor CA。
  2. 将 Harbor CA 添加到 kube-system 命名空间中的 image-fetcher-ca-bundle ConfigMap。您必须使用 vCenter Single Sing-ON 管理帐户登录,并且有权编辑 image-fetcher-ca-bundle

在 Harbor 与在非 Harbor 所在的 主管 上运行的 Tanzu Kubernetes Grid 集群之间建立信任

在未安装 Harbor 的 主管 上运行的 Tanzu Kubernetes Grid 集群必须与 Harbor 建立网络连接。这些 Tanzu Kubernetes Grid 集群必须能够解析 Harbor FQDN。

要在 Harbor 和 Tanzu Kubernetes Grid 集群之间建立信任,请从 Harbor UI 中提取 Harbor CA,或者在 主管 控制平面上使用 TLS 密钥,然后按照将 TKG 2 集群与专用容器注册表集成中列出的步骤操作。