Befolgen Sie diese Anweisungen, um die Harbor-Containerregistrierung auf einem TKG-Dienst-Cluster zu installieren, auf dem TKr für vSphere 8.x ausgeführt wird.

Voraussetzungen

Erstellen von Harbor-Datenwerten

Bereiten Sie die Installation von Harbor vor, indem Sie die Datenwertdatei erstellen.

  1. Rufen Sie die neueste Harbor-Paketversion für Ihr Repository ab.
    tanzu package available get harbor.tanzu.vmware.com -n tkg-system

    Oder verwenden Sie dazu „kubectl“.

    kubectl -n tkg-system get packages | grep harbor
    Hinweis: In der Regel sollten Sie die neueste Version verwenden, es sei denn, Ihre Anforderungen weichen ab.
  2. Generieren Sie die Datei harbor-data-values.yaml.
    tanzu package available get harbor.tanzu.vmware.com/2.9.1+vmware.1-tkg.1 --default-values-file-output harbor-data-values.yaml
    Dabei gilt:
    • 2.9.1+vmware.1-tkg.1 ist die Zielpaketversion
    • harbor-data-values.yaml ist der Name und Pfad der zu generierenden Datenwertdatei
  3. Bearbeiten Sie die harbor-data-values.yaml-Datei und aktualisieren Sie die Werte für die folgenden Parameter.

    Konfigurieren Sie nach Bedarf zusätzliche Parameter. Weitere Informationen hierzu finden Sie unter Referenz zum Harbor-Paket.

    Bereich Beschreibung
    hostname Der FQDN für den Zugriff auf die Harbor-Verwaltungskonsole und den Registrierungsdienst. Ersetzen Sie "yourdomain.com" durch einen eindeutigen Hostnamen.
    harborAdminPassword Ändern Sie das Kennwort in ein starkes und eindeutiges Kennwort (es kann auch nach der Installation in der Benutzeroberfläche geändert werden).
    persistence.persistentVolumeClaim.database.storageClass: Geben Sie den Namen der vSphere-Speicherrichtlinie für den vSphere-Namespace ein.
    persistence.persistentVolumeClaim.jobservice.storageClass: Geben Sie den Namen der vSphere-Speicherrichtlinie für den vSphere-Namespace ein.
    persistence.persistentVolumeClaim.redis.storageClass: Geben Sie den Namen der vSphere-Speicherrichtlinie für den vSphere-Namespace ein.
    persistence.persistentVolumeClaim.registry.storageClass: Geben Sie den Namen der vSphere-Speicherrichtlinie für den vSphere-Namespace ein.
    persistence.persistentVolumeClaim.trivy.storageClass: Geben Sie den Namen der vSphere-Speicherrichtlinie für den vSphere-Namespace ein.
    tlsCertificate.tlsSecretLabels: {"managed-by": "vmware-vRegistry"}

Installieren von Harbor

Führen Sie die folgenden Schritte aus, um die Harbor-Registrierung zu installieren.
  1. Erstellen Sie den Namespace für Harbor.
    kubectl create ns tanzu-system-registry
  2. Installieren Sie Harbor.
    tanzu package install harbor --package harbor.tanzu.vmware.com --version 2.9.1+vmware.1-tkg.1 --values-file harbor-data-values.yaml --namespace tanzu-system-registry
  3. Überprüfen Sie die Harbor-Installation.
    tanzu package installed get harbor --namespace tanzu-system-registry

Konfigurieren von DNS für Harbor mithilfe eines Envoy-Diensts vom Typ „LoadBalancer“

Wenn der erforderliche Contour mit Envoy-Dienst über einen LoadBalancer verfügbar gemacht wird, rufen Sie die externe IP-Adresse des Lastausgleichsdiensts ab und erstellen Sie DNS-Datensätze für die Harbor-FQDNs.
  1. Rufen Sie die External-IP-Adresse für den Envoy-Dienst vom Typ LoadBalancer ab.
    kubectl get service envoy -n tanzu-system-ingress
    Die External-IP-Adresse sollte angezeigt werden, z. B.:
    NAME    TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
    envoy   LoadBalancer   10.99.25.220   10.195.141.17   80:30437/TCP,443:30589/TCP   3h27m
    Alternativ können Sie die External-IP-Adresse mit dem folgenden Befehl abrufen.
    kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
  2. Um die Installation der Harbor-Erweiterung zu überprüfen, aktualisieren Sie Ihre lokale /etc/hosts-Datei mit den Harbor- und Notariats-FQDNs, die der External-IP-Adresse des Lastausgleichsdiensts zugeordnet sind. Beispiel:
    127.0.0.1 localhost
    127.0.1.1 ubuntu
    #TKG Harbor with Envoy Load Balancer IP
    10.195.141.17 core.harbor.domain
    10.195.141.17 core.notary.harbor.domain
    
  3. Um die Installation der Harbor-Erweiterung zu überprüfen, melden Sie sich bei Harbor an.
  4. Erstellen Sie zwei CNAME-Datensätze auf einem DNS-Server, die die External-IP-Adresse des Lastausgleichsdiensts für den Envoy-Dienst dem Harbor-FQDN und dem Notariats-FQDN zuordnen.
  5. Installieren Sie die externe DNS-Erweiterung.

Konfigurieren von DNS für Harbor mithilfe eines Envoy-Diensts vom Typ „NodePort“

Wenn der erforderliche Contour- > Envoy-Dienst über einen NodePort verfügbar gemacht wird, rufen Sie die IP-Adresse der virtuellen Maschine eines Worker-Knotens ab und erstellen Sie DNS-Datensätze für die Harbor-FQDNs.
Hinweis: Um NodePort zu verwenden, müssen Sie den korrekten port.https-Wert in der harbor-data-values.yaml-Datei angegeben haben.
  1. Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Cluster bereitgestellt wird.
    kubectl config use-context VSPHERE-NAMESPACE
  2. Listet die Knoten im Cluster auf.
    kubectl get virtualmachines
  3. Wählen Sie einen der Worker-Knoten aus und beschreiben Sie ihn mit dem folgenden Befehl.
    kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
  4. Suchen Sie die IP-Adresse der virtuellen Maschine, z. B. Vm Ip: 10.115.22.43.
  5. Um die Installation der Harbor-Erweiterung zu überprüfen, aktualisieren Sie Ihre lokale /etc/hosts-Datei mit den Harbor- und Notariats-FQDNs, die der IP-Adresse des Worker-Knotens zugeordnet sind. Beispiel:
    127.0.0.1 localhost
    127.0.1.1 ubuntu
    #TKG Harbor with Envoy NodePort
    10.115.22.43 core.harbor.domain
    10.115.22.43 core.notary.harbor.domain
    
  6. Um die Installation der Harbor-Erweiterung zu überprüfen, melden Sie sich bei Harbor an.
  7. Erstellen Sie zwei CNAME-Datensätze auf einem DNS-Server, die die IP-Adresse des Worker-Knotens für den Envoy-Dienst dem Harbor-FQDN und dem Notariats-FQDN zuordnen.
  8. Installieren Sie die externe DNS-Erweiterung.

Anmelden bei der Harbor-Webschnittstelle

Sobald Harbor installiert und konfiguriert ist, melden Sie sich an und verwenden Sie es.
  1. Greifen Sie unter https://core.harbor.domain oder dem von Ihnen verwendeten Hostnamen auf die Webschnittstelle der Harbor-Registrierung zu.

    Die Weboberfläche der Harbor-Registrierung.

  2. Melden Sie sich bei Harbor mit dem Benutzernamen admin und dem generierten Kennwort an, das Sie in die harbor-data-values.yaml-Datei eingegeben haben.

    Die Anmeldeseite von Harbor mit dem Benutzernamen „admin“ und dem generierten Kennwort.

  3. Überprüfen Sie, ob Sie über die Harbor-Benutzeroberfläche auf den Host zugreifen können.

    Nachdem Sie sich angemeldet haben, wird die Registerkarte „Projekte“ der Harbor-Benutzeroberfläche angezeigt.

  4. Rufen Sie das Harbor-CA-Zertifikat ab.

    Klicken Sie in der Harbor-Benutzeroberfläche auf Projekte > Bibliothek, oder erstellen Sie ein Neues Projekt.

    Klicken Sie auf Registrierungszertifikat und laden Sie das Harbor-CA-Zertifikat (ca.crt) herunter.

  5. Fügen Sie das Harbor-CA-Zertifikat zum Trust Store des Docker-Clients hinzu, damit Sie Container-Images in die Harbor-Registrierung verschieben und von dort abrufen können. Weitere Informationen finden Sie unter Verwenden privater Registrierungen mit TKG-Dienstclustern.
  6. Weitere Informationen zur Verwendung von Harbor finden Sie in der Harbor-Dokumentation.