可以安装 Harbor 容器注册表作为 主管 服务,并将 Harbor 作为专用注册表运行。
必备条件
请遵循以下必备条件:
- 已启用 vSphere 8 主管
- 熟悉主管服务
注: 这些说明已通过 vSphere 8 和 NSX 4 网络进行验证。
下载所需的 YAML 文件
下载所需的 YAML 文件,包括 Contour 和 Harbor。
- 从 Kubernetes Ingress 控制器服务站点下载以下 Contour 文件:
- Contour 服务定义文件:contour.yml
- Contour 服务配置文件:contour-data-values.yml
- 从云原生注册表服务站点下载以下 Harbor 文件:
- Harbor 服务定义文件:harbor.yml
- Harbor 服务配置文件:harbor-data-values.yml
安装 Contour
必须先安装 Contour,然后再安装 Harbor。
- 单击contour.yml 上载到 vCenter。 ,将
- 确认已添加 Contour 服务定义。
- 选择 。
- 选择 。
- 选择可用选项卡。
- 选择 Contour,然后单击安装。
- 将 contour-data-values.yml 中的内容复制/粘贴到“YAML 服务配置”输入字段。
注: Contour 数据值可以按原样使用,不需要进行任何配置更改。Envoy 的服务类型设置为 LoadBalancer 。
- 单击确定,继续进行 Contour 安装。
- 验证 Contour 是否已安装。
- 选择名为 svc-contour-domain-XXXX 的 vSphere 命名空间。
- 选择网络选项卡,然后选择服务。
- 您应该会看到 ClusterIP 类型的 Contour 服务和 LoadBalancer 类型的 Envoy 服务。Envoy 服务应具有外部 IP 地址。
更新 Harbor 数据值
在安装 Harbor 之前,请先更新数据值文件。
- 使用文本编辑器,打开 harbor-data-values.yml 文件。
- 进行以下编辑(最低要求,其他字段可以有选择地进行编辑)。
- 保存更改。
名称 值 hostname harbordomain.com(选择唯一的名称) tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"}(验证此值,但保持原样) persistence.persistentVolumeClaim.registry.storageClass "vwt-storage-policy"(输入主管的 vSphere 存储策略的名称) persistence.persistentVolumeClaim.jobservice.storageClass "vwt-storage-policy"(输入主管的 vSphere 存储策略的名称) persistence.persistentVolumeClaim.database.storageClass "vwt-storage-policy"(输入主管的 vSphere 存储策略的名称) persistence.persistentVolumeClaim.redis.storageClass "vwt-storage-policy"(输入主管的 vSphere 存储策略的名称) persistence.persistentVolumeClaim.trivy.storageClass "vwt-storage-policy"(输入主管的 vSphere 存储策略的名称)
安装 Harbor
按照以下说明,安装 Harbor。
- 单击harbor.yml 上载到 vCenter。 ,将
- 确认已添加 Harbor 服务定义。
- 选择 。
- 选择 。
- 选择可用选项卡。
- 选择 Harbor,然后单击安装。
- 将编辑后的 harbor-data-values.yml 中的内容复制/粘贴到“YAML 服务配置”输入字段。
- 单击确定,继续进行 Harbor 安装。
- 验证 Harbor 是否已安装。
- 选择名为 svc-harbor-domain-XXXX 的 vSphere 命名空间。
- 选择网络选项卡,然后选择服务。
- 您应该会看到为 Harbor 安装了多个容器,每个容器是一个 ClusterIP 类型的服务。
为 Harbor 配置 DNS
您将需要注册域名并为 Harbor 设置 DNS 记录。
- 选择 。
- 选择 Contour 命名空间。
- 选择 。
- 记录 Envoy Ingress 服务的外部 IP 地址,例如 10.197.154.71。
- 注册在 Harbor 配置中指定的 Harbor 域名 (FQDN)。
- 使用 AWS Route 53 或类似服务创建 DNS“A”记录。
登录 Harbor
设置 Harbor DNS 后,便可登录。
- 转到您为 Harbor 注册的域名。
- 使用 admin 和在 Harbor 配置中指定的密码登录域。
- 登录后,将密码更改为更安全的密码。
将主管配置为信任 Harbor 注册表(可选)
当 TKG 集群和 Harbor 部署在同一个
主管 上时,TKG 集群会自动配置为信任 Harbor
主管 服务。但是,创建
vSphere Pod 时,
主管 不会自动配置为信任 Harbor
主管 服务。请完成以下步骤,将配置映射更新为包含 Harbor CA 证书信息,以在
主管 和 Harbor 服务之间建立信任关系。
- 在 Harbor 中,转到 。
- 下载注册表根证书,它是一个名为 ca.crt 的文件。
- 配置 KUBE_EDITOR 环境变量。
- 使用 kubectl 登录到 主管。
- 将上下文切换到 主管 上下文(IP 地址)。
- 使用以下命令编辑 configmap/image-fetch-ca-bundle :
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- 复制 Harbor ca.crt 文件的内容,并将其附加到现有证书(用于 主管,不得更改)下方的配置映射。保存对文件所做的编辑。您应该会看到 Kubectl 报告“已编辑 configmap/image-fetcher-ca-bundle”。