Consulte este tema para insertar los paquetes estándar del registro de contenedor público en un registro de Harbor privado que se ejecute como un servicio de Supervisor.

Requisitos previos

Complete los siguientes requisitos previos:

Instalar la utilidad de paquetes de imágenes Carvel

Instale la utilidad imgpkg Carvel en el cliente Ubuntu en el que está instalado kubectl.
  1. Instale imgpkg.
    wget -O- https://carvel.dev/install.sh > install.sh
    sudo bash install.sh
  2. Compruebe la instalación.
    imgpkg version
    Resultado esperado:
    imgpkg version 0.41.1

Enumerar las imágenes disponibles para cada paquete estándar

Administrador de certificados
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/cert-manager
Contour con 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 con 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

Extraer las imágenes de paquete estándar del registro de VMware público

Extraiga los paquetes Tanzu Standard del registro de VMware público en https://projects.registry.vmware.com/. Actualice la versión para que coincida con la versión que desea extraer.

Administrador de certificados
docker pull projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3
Contour con 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 con 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

Crear un proyecto en el registro de Harbor privado

Cree un proyecto público en Harbor para alojar los paquetes de Tanzu.
  1. Inicie sesión en el registro de Harbor privado.
  2. En Harbor, seleccione Proyectos > Nuevo proyecto.
  3. Cree un nuevo proyecto público denominado tanzu-packages.

Etiquetar las imágenes de paquete estándar

Etiquete las imágenes utilizando la siguiente sintaxis.
docker tag SOURCE_IMAGE[:TAG] harbordomain.com/tanzu-packages/REPOSITORY[:TAG]
Donde:
  • SOURCE_IMAGE[:TAG] es el nombre de la imagen extraída
  • harbordomain.com es el nombre de DNS de su servidor de Harbor
  • REPOSITORY[:TAG] es el nombre de la etiqueta de imagen
Administrador de certificados
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 con 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 con 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

Insertar las imágenes de paquete estándar en el registro de Harbor privado

Inserte las imágenes utilizando la siguiente sintaxis.
docker push harbordomain.com/tanzu-packages/PACKAGE
Donde:
  • harbordomain.com es el nombre de DNS de su servidor de Harbor
  • tanzu-packages es el nombre del proyecto de Harbor
  • PACKAGE es el nombre del paquete de Tanzu
  • vX.X.X es la versión de etiqueta del paquete
Administrador de certificados
docker push harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Contour con Envoy
docker push harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker push harbordomain.com/tanzu-packages/external-dns:v0.12.2
Prometheus con 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
Después de insertar las imágenes en el registro de Harbor privado, compruebe que ve cada imagen en la interfaz web de Harbor.
Figura 1. Paquetes Tanzu Standard en el registro de Harbor privado
Paquetes Tanzu Standard en el registro de Harbor privado

Extraer una imagen de contenedor para la implementación

Para comprobar que las imágenes se encuentran en el registro de Harbor privado, extraiga una imagen desde allí con la siguiente sintaxis:
docker pull harbordomain.com/tanzu-packages/PACKAGE:TAG

Por ejemplo:

docker pull harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Puede utilizar cURL para invocar la API de Harbor y enumerar los paquetes. Para ello, descargue el certificado de Harbor desde la interfaz web de Harbor y después ejecute el siguiente comando:
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'
El comando devuelve los tanzu-packages que están disponibles.
"tanzu-packages/harbor"
"tanzu-packages/fluent-bit"
"tanzu-packages/grafana"
"tanzu-packages/prometheus"
"tanzu-packages/external-dns"
"tanzu-packages/contour"
"tanzu-packages/cert-manager"