请参阅本主题,将标准软件包从公用容器注册表推送到作为 主管 服务运行的专用 Harbor 注册表。
必备条件
完成以下必备条件:
- 安装 Harbor 主管 服务.
- 将 Ubuntu 主机配置为 Docker 客户端。请参见使用 Harbor 注册表证书配置 Docker 客户端。
- 在 Ubuntu 主机上安装 jq。请参见https://jqlang.github.io/jq/download/。
安装 Carvel 映像软件包实用程序
在安装了 kubectl 的 Ubuntu 客户端上安装 Carvel
imgpkg
实用程序。
- 安装
imgpkg
。wget -O- https://carvel.dev/install.sh > install.sh sudo bash install.sh
- 验证安装。
imgpkg version
预期结果:imgpkg version 0.41.1
列出每个标准软件包的可用映像
证书管理器
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/cert-manager
Contour with Envoy
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/contour
ExternalDNS
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/external-dns
Prometheus with Alertmanager
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/prometheus
Grafana
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/grafana
Fluent Bit
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/fluent-bit
Harbor
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/harbor
从公用 VMware 注册表中提取标准软件包映像
从位于 https://projects.registry.vmware.com/ 的公用 VMware 注册表中提取标准 Tanzu 软件包。更新版本以与要提取的版本相匹配。
证书管理器
docker pull projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3
Contour with Envoy
docker pull projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1
ExternalDNS
docker pull projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1
Prometheus with Alertmanager
docker pull projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1
Grafana
docker pull projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1
Fluent Bit
docker pull projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2
Harbor
docker pull projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1
在专用 Harbor 注册表中创建项目
在 Harbor 中创建用于托管 Tanzu 软件包的公用项目。
- 登录到专用 Harbor 注册表。
- 在 Harbor 中,选择 。
- 创建名为 tanzu-packages 的新公用项目。
标记标准软件包映像
使用以下语法标记映像。
docker tag SOURCE_IMAGE[:TAG] harbordomain.com/tanzu-packages/REPOSITORY[:TAG]
其中:
- SOURCE_IMAGE [:TAG] 是已提取映像的名称
- harbordomain.com 是 Harbor 服务器的 DNS 名称
- REPOSITORY[:TAG] 是映像标记的名称
证书管理器
docker tag projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3 harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Contour with Envoy
docker tag projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1 harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker tag projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1 harbordomain.com/tanzu-packages/external-dns:v0.12.2
Prometheus with Alertmanager
docker tag projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1 harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker tag projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1 harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker tag projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2 harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker tag projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1 harbordomain.com/tanzu-packages/harbor:v2.7.1
将标准软件包映像推送到专用 Harbor 注册表
使用以下语法推送映像。
docker push harbordomain.com/tanzu-packages/PACKAGE
其中:
- harbordomain.com 是 Harbor 服务器的 DNS 名称
- tanzu-packages 是 Harbor 项目的名称
- PACKAGE 是 Tanzu 软件包的名称
- vX.X.X 是软件包的标记版本
证书管理器
docker push harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Contour with Envoy
docker push harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker push harbordomain.com/tanzu-packages/external-dns:v0.12.2
Prometheus with Alertmanager
docker push harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker push harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker push harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker push harbordomain.com/tanzu-packages/harbor:v2.7.1
将映像推送到专用 Harbor 注册表后,确认可以在 Harbor Web 界面中看到每个映像。
提取用于部署的容器映像
要验证映像是否位于专用 Harbor 注册表中,请使用以下语法从该注册表中提取映像:
docker pull harbordomain.com/tanzu-packages/PACKAGE:TAG
例如:
docker pull harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
您可以使用 cURL 调用 Harbor API 并列出软件包。要执行此操作,请从 Harbor Web 界面下载 Harbor 证书,然后运行以下命令:
curl -X 'GET' 'https://harbordomain.com/api/v2.0/projects/tanzu-packages/repositories?page=1&page_size=-1' -H 'accept: application/json' --cacert ca.crt | jq '.[].name'
该命令将返回可用的 tanzu-packages 。
"tanzu-packages/harbor" "tanzu-packages/fluent-bit" "tanzu-packages/grafana" "tanzu-packages/prometheus" "tanzu-packages/external-dns" "tanzu-packages/contour" "tanzu-packages/cert-manager"