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
Beachten Sie die folgenden Voraussetzungen.
Erstellen von Harbor-Datenwerten
Bereiten Sie die Installation von Harbor vor, indem Sie die Datenwertdatei erstellen.
- 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. - 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
- 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.
- Erstellen Sie den Namespace für Harbor.
kubectl create ns tanzu-system-registry
- 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
- Ü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.
- Rufen Sie die
External-IP
-Adresse für den Envoy-Dienst vom Typ LoadBalancer ab.kubectl get service envoy -n tanzu-system-ingress
DieExternal-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 dieExternal-IP
-Adresse mit dem folgenden Befehl abrufen.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Um die Installation der Harbor-Erweiterung zu überprüfen, aktualisieren Sie Ihre lokale
/etc/hosts
-Datei mit den Harbor- und Notariats-FQDNs, die derExternal-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
- Um die Installation der Harbor-Erweiterung zu überprüfen, melden Sie sich bei Harbor an.
- 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. - 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.
- Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Cluster bereitgestellt wird.
kubectl config use-context VSPHERE-NAMESPACE
- Listet die Knoten im Cluster auf.
kubectl get virtualmachines
- 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
- Suchen Sie die IP-Adresse der virtuellen Maschine, z. B.
Vm Ip: 10.115.22.43
. - 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
- Um die Installation der Harbor-Erweiterung zu überprüfen, melden Sie sich bei Harbor an.
- 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.
- 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.
- Greifen Sie unter
https://core.harbor.domain
oder dem von Ihnen verwendeten Hostnamen auf die Webschnittstelle der Harbor-Registrierung zu. - 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. - Überprüfen Sie, ob Sie über die Harbor-Benutzeroberfläche auf den Host zugreifen können.
- Rufen Sie das Harbor-CA-Zertifikat ab.
Klicken Sie in der Harbor-Benutzeroberfläche auf Neues Projekt.
, oder erstellen Sie einKlicken Sie auf Registrierungszertifikat und laden Sie das Harbor-CA-Zertifikat (ca.crt) herunter.
- 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.
- Weitere Informationen zur Verwendung von Harbor finden Sie in der Harbor-Dokumentation.