In diesem Thema finden Sie Informationen zum Weitergeben der Standardpakete aus der Registrierung für öffentliche Container in eine private Harbor-Registrierung, die als Supervisor-Dienst ausgeführt wird.

Voraussetzungen

Erfüllen Sie die folgenden Voraussetzungen

Installieren des Carvel-Dienstprogramms „Image-Paket“

Installieren Sie das Carvel-Dienstprogramm imgpkg auf dem Ubuntu-Client, auf dem kubectl installiert ist.
  1. Installieren Sie imgpkg.
    wget -O- https://carvel.dev/install.sh > install.sh
    sudo bash install.sh
  2. Überprüfen Sie die Installation.
    imgpkg version
    Erwartetes Ergebnis:
    imgpkg version 0.41.1

Auflisten der verfügbaren Images für jedes Tanzu-Standardpaket

Cert Manager
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/cert-manager
Contour mit 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 mit 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

Abrufen der Standardpaket-Images aus der öffentlichen VMware-Registrierung

Rufen Sie die Tanzu-Standardpakete aus der öffentlichen VMware-Registrierung unter https://projects.registry.vmware.com/ ab. Aktualisieren Sie die Version, sodass sie mit der abzurufenden Version übereinstimmt.

Cert Manager
docker pull projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3
Contour mit 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 mit 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

Erstellen eines Projekts in der privaten Harbor-Registrierung

Erstellen Sie ein öffentliches Projekt in Harbor, um die Tanzu-Pakete zu hosten.
  1. Melden Sie sich bei der privaten Harbor-Registrierung an.
  2. Wählen Sie in Harbor die Option Projekte > Neues Projekt aus.
  3. Erstellen Sie ein neues öffentliches Projekt mit dem Namen tanzu-packages.

Kennzeichnen der Standardpaket-Images

Kennzeichnen Sie die Images mit der folgenden Syntax.
docker tag SOURCE_IMAGE[:TAG] harbordomain.com/tanzu-packages/REPOSITORY[:TAG]
Dabei gilt:
  • SOURCE_IMAGE[:TAG] ist der Name des Image, das Sie abgerufen haben.
  • harbordomain.com ist der DNS-Name Ihres Harbor-Servers.
  • REPOSITORY[:TAG] ist der Name des Image-Tags
Cert Manager
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 mit 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 mit 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

Weitergeben der Standardpaket-Images an die private Harbor-Registrierung

Geben Sie die Images mit der folgenden Syntax weiter.
docker push harbordomain.com/tanzu-packages/PACKAGE
Dabei gilt:
  • harbordomain.com ist der DNS-Name Ihres Harbor-Servers.
  • tanzu-packages ist der Name des Harbor-Projekts.
  • PACKAGE ist der Name des Tanzu-Pakets.
  • vX.X.X ist die Tag-Version des Pakets.
Cert Manager
docker push harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Contour mit Envoy
docker push harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker push harbordomain.com/tanzu-packages/external-dns:v0.12.2
Prometheus mit 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
Nachdem Sie die Images an die private Harbor-Registrierung weitergegeben haben, stellen Sie sicher, dass jedes Image in der Harbor-Webschnittstelle angezeigt wird.
Abbildung 1. Tanzu-Standardpakete in der privaten Harbor-Registrierung
Tanzu-Standardpakete in der privaten Harbor-Registrierung

Abrufen eines Container-Images für die Bereitstellung

Um zu überprüfen, ob sich die Images in der privaten Harbor-Registrierung befinden, rufen Sie ein Image mit der folgenden Syntax von dort ab:
docker pull harbordomain.com/tanzu-packages/PACKAGE:TAG

Beispiel:

docker pull harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Sie können cURL verwenden, um die Harbor-API aufzurufen und die Pakete aufzulisten. Laden Sie dazu das Harbor-Zertifikat über die Harbor-Webschnittstelle herunter und führen Sie dann den folgenden Befehl aus:
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'
Der Befehl gibt die verfügbaren tanzu-packages zurück.
"tanzu-packages/harbor"
"tanzu-packages/fluent-bit"
"tanzu-packages/grafana"
"tanzu-packages/prometheus"
"tanzu-packages/external-dns"
"tanzu-packages/contour"
"tanzu-packages/cert-manager"