Bereitstellen einer Offline-Harbor-Registrierung auf vSphere

In diesem Thema wird beschrieben, wie Sie eine private Harbor-Image-Registrierung aus einer heruntergeladenen OVA-Datei installieren, um die Images bereitzustellen, die für die Bereitstellung von Tanzu Kubernetes Grid (TKG) in einer Offline-vSphere-Umgebung erforderlich sind. Die resultierende Harbor-Registrierung wird zusammen mit und getrennt von TKG ausgeführt, um von TKG verwendete Komponenten-Images zu speichern und zu verwalten.

Wichtig

  • Diese VM-basierte Harbor-Bereitstellung wird nur für das Hosten von TKG-System-Images in einer Umgebung mit Internetbeschränkungen oder einer AirGap-Umgebung unterstützt. Zum Bereitstellen einer skalierbaren und hochverfügbaren Harbor-Instanz, die eine große Anzahl an Images für gehostete Apps in einer Produktionsumgebung verwalten kann, stellen Sie das Harbor-Paket für TKG-Cluster bereit (siehe Beschreibung unter Installieren von Harbor für die Dienstregistrierung in Erstellen und Verwalten von TKG 2.4-Arbeitslastclustern mit der Tanzu CLI).

  • Notary und Chartmuseum sind ab Harbor v2.6 veraltet und werden in einer zukünftigen Version entfernt, wie in den Versionshinweisen zu Harbor v2.6.0 beschrieben. Wechseln Sie zu Sigstore Cosign für die Signierung und Verifizierung von Containern.

Voraussetzungen

  • vSphere Client v7.0.2.00000
  • Harbor-OVA-Datei, die von der Tanzu Kubernetes Grid-Download-Seite heruntergeladen wurde.
  • Benutzerdefinierte Zertifikate (optional): Dateien ca.crt, server.crt und server.key

Bereitstellen von Harbor

So stellen Sie Harbor über eine OVA-Datei bereit:

  1. Klicken Sie in vCenter mit der rechten Maustaste auf einen vSphere-Cluster und wählen Sie OVF-Vorlage bereitstellen… (Deploy OVF Template) aus.

    Screenshot der Harbor-Installation

  2. Das Fenster OVF-Vorlage bereitstellen (Deploy OVF Template) wird angezeigt. Wählen Sie Lokale Datei (Local File) und navigieren Sie zum Speicherort der heruntergeladenen Harbor-OVA-Datei.

  3. Klicken Sie unten rechts auf WEITER (NEXT). Eine Reihe von Konfigurationsfenstern wird angezeigt.

  4. Überprüfung der Quelle (Source Verification): Klicken Sie auf JA (YES).

    Screenshot der Harbor-Installation

  5. Name der virtuellen Maschine (Virtual machine name): Geben Sie einen Namen für die virtuelle Maschine ein, die die Harbor-Instanz ausführt. Klicken Sie auf JA (NEXT).

    Screenshot der Harbor-Installation

  6. Computing-Ressource auswählen (Select a compute resource): Behalten Sie die Standardauswahl bei und klicken Sie auf WEITER (NEXT).

    Screenshot der Harbor-Installation

    Dieser Schritt kann einige Minuten dauern, während vSphere die OVF-Vorlage herunterlädt und rendert.

  7. Details überprüfen (Review details): Klicken Sie auf JA (NEXT).

    Screenshot der Harbor-Installation

  8. Lizenzvereinbarungen (License agreements): Akzeptieren Sie die Lizenzbedingungen und klicken Sie auf WEITER (NEXT).

    Screenshot der Harbor-Installation

  9. Speicher auswählen (Select storage): Wählen Sie vsanDatastore und klicken Sie auf WEITER (NEXT).

    Screenshot der Harbor-Installation

  10. Netzwerke auswählen (Select networks): Wählen Sie das standardmäßige VM-Netzwerk (VM Network) aus und klicken Sie auf WEITER (NEXT).

    Screenshot der Harbor-Installation

  11. Vorlage anpassen (Customize template) > VM-Anmeldedaten (VM Credentials):

    Screenshot der Harbor-Installation

    1. Root-Kennwort (Root Password) (erforderlich): Ihr bevorzugtes Kennwort für das Benutzerkonto root auf der VM. Es muss 8 bis 128 Zeichen lang sein.

    2. SSH über Root zulassen (Allow SSH via Root): Lassen Sie die Standardeinstellung aktiviert, um ssh Zugriff auf die VM als root-Benutzer zu ermöglichen.

  12. Vorlage anpassen (Customize template) > Harbor-Konfigurationen (Harbor Configurations):

    Screenshot der Harbor-Installation

    1. Hostname (optional): Sofern angegeben, wird der Harbor-Hostname als FQDN verwendet, z. B. yourdomain.com. Er kann keine IP-Adresse oder localhost sein.

      Wenn Sie Hostname angeben, enthält die SAN-Eigenschaft (Subject Alt Names) nur die DNS-Informationen. Es werden keine IP-Informationen bereitgestellt.

      Wenn Sie Hostname nicht angeben, enthält die SAN-Eigenschaft nur die IP-Informationen. Es werden keine DNS-Informationen bereitgestellt.

    2. Administratorkennwort (Administrator Password) (erforderlich): Kennwort für Harbor-Benutzer admin. Wird von Administratoren für den Zugriff auf die Harbor-Benutzeroberfläche und von Clientcontainern zum Abrufen und Weitergeben von Images verwendet. Es muss zwischen 8 und 128 Zeichen enthalten.

    3. Kennwort der Harbor-Datenbank (Harbor Database Password): Kennwort für die interne Harbor-Datenbank. Wenn angegeben, muss es zwischen 8 und 128 Zeichen umfassen.

    4. Harbor-Standardscanner aktivieren (Enable Harbor Default Scanner): Aktivieren Sie diese Option, um den Trivy-Scanner zu installieren und ihn zum Prüfen von Images zu aktivieren, während sie auf Harbor hochgeladen werden.

    5. Selbstsigniertes Zertifikat für Harbor verwenden (Use Self-signed Certificate For Harbor):

      • Aktivieren Sie diese Option, um selbstsignierte Zertifikate zu verwenden, und lassen Sie CA-Zertifikat (CA Certificate), Serverzertifikat (Server Certificate) und Serverschlüssel (Server Key) leer.

      • Deaktivieren Sie andernfalls Selbstsigniertes Zertifikat für Harbor verwenden (Use Self-signed Certificate For Harbor) und fügen Sie mehrzeilige Dateiinhalte für CA-Zertifikat, Serverzertifikat (Server Certificate) und Serverschlüssel (Server Key) ein. Wenn Sie sie in das Formular einfügen, werden die mehrzeiligen Werte in eine einzeilige Zeichenfolge mit Leerzeichen als Trennzeichen umgewandelt.

  13. Vorlagen anpassen (Customize template) > Netzwerkkonfigurationen (Networking Configurations):

    Screenshot der Harbor-Installation

    1. IP-Adresse (IP Address), Netzmaske (Netmask) und Gateway: Eine statische IP-Adresse, Netzmaske und ein Gateway für eth0, sofern vorhanden.

    2. DNS, DNS-Domäne (DNS Domain): DNS-Server und Domäne für die Harbor-VM.

  14. (Optional) Vorlage anpassen (Customize template) > Docker-Konfigurationen (Docker Configurations):

    Screenshot der Harbor-Installation

    Diese Konfiguration ist optional und nur für OVAs mit Harbor v2.8.x oder höher verfügbar.

    1. DOCKER-Daemon-BIP-Wert: Ein Wert im CIDR-Format zum Konfigurieren des Docker-Daemons, z. B.: 198.18.251.1/24

    2. Adresspool 1 Basis, Adresspool 1 Größe: Die Basis und die Größe des Adresspools sollten, falls vorhanden, paarweise konfiguriert werden. Es sind maximal drei Paare von Adresspool-Basis und Adresspool-Größe zulässig. Außerdem sollte die Adresspool-Basis im CIDR-Format vorliegen, z. B. 198.18.252.0/22; und die Adresspool-Größe sollte eine Ganzzahl zwischen 1 und 32 sein.

  15. Bereit zum Abschließen (Ready to complete): Überprüfen Sie die Konfiguration und klicken Sie auf FERTIGSTELLEN (FINISH).

    Screenshot der Harbor-Installation

Überwachen und Debuggen einer Bereitstellung

Docker-Bereitstellung (optional)

Für OVAs mit Harbor v2.8.x oder höher können Sie optional eine Docker-Daemon-Konfiguration zur Ausführung auf der OVA festlegen, wie auf der oben beschriebenen Registerkarte Docker-Konfigurationen (Docker Configurations) konfiguriert.

Wenn Sie ungültige Argumente unter Docker-Konfigurationen eingeben, schlagen sowohl der firstboot systemd-Dienst als auch Docker fehl.

Um die Docker-Installation zu überprüfen, melden Sie sich per ssh an der Harbor-VM an und führen Sie systemctl status firstboot und systemctl status docker aus. Wenn der firstboot-Dienststatus als Active: failed aufgeführt ist, ist die Bereitstellung fehlgeschlagen. Wenn jedoch Active: inactive (dead) und firstboot.service: Succeeded und dann docker-Dienst als Active: active (running) angezeigt wird, war die Bereitstellung erfolgreich.

Um die Protokolle auf weitere Details zu überprüfen, führen Sie journalctl -u firstboot und journalctl -u docker aus.

Harbor-Bereitstellung:

Bei der ersten Bereitstellung einer Harbor-OVA benötigt Harbor einige Minuten, um Docker-Images zu laden.

Um den Prozess zu überwachen und zu bestätigen, dass er voranschreitet, stellen Sie eine ssh-Verbindung mit der VM her und führen Sie Folgendes aus:

watch docker ps

Wenn Harbor nach etwa 5 Minuten nicht ausgeführt wird, rufen Sie die Protokolldatei auf der VM zum Debuggen ab:

  1. cd /etc/goharbor/harbor && ./harbor-support.sh --include-private

  2. Suchen und entpacken Sie die Protokolldatei. Sie hat beispielsweise einen Namen wie /storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz

Fehlerbehebung

Fehler: Die Manifest- oder Zertifikatsdatei konnte nicht abgerufen werden

  1. Wenn Error: Unable to retrieve manifest or certificate file wie unten angegeben angezeigt wird, versuchen Sie einfach, die Harbor-OVA erneut bereitzustellen.

    Screenshot der Harbor-Installation

Keine Unterstützung für Harbor-Proxy-Cache

Sie können die Proxy-Cache-Funktion von Harbor nicht verwenden, um Tanzu Kubernetes Grid v2.4 in einer Umgebung mit Internetbeschränkungen auszuführen. Sie können weiterhin einen Harbor-Proxy-Cache verwenden, um Images aus früheren Versionen von Tanzu Kubernetes Grid und Nicht-Tanzu-Images wie Anwendungs-Images zu übermitteln.

Zurücksetzen des Root-Kennworts

Wenn Sie das root-Kennwort verloren haben, können Sie es mit dem Verfahren unter Wiederherstellen eines verlorenen Root-Kennworts wiederherstellen.

Erweitern der Datenfestplatte

Eine über eine OVA bereitgestellte Harbor-Instanz verfügt über zwei Festplatten:

  • Datenfestplatte: Enthält Harbor-Anwendungsdaten und Zertifikatsdateien, bereitgestellt als /storage.
  • Systemfestplatte: Enthält VM-Systemdaten und Harbor-Bootstrap-Images und führt die Bootstrap-Images aus.

Wenn Sie die Größe der Harbor-Datenfestplatte erhöhen müssen, um Anforderungen zu erfüllen, müssen Sie die Harbor-VM vorübergehend ausschalten, während Sie die Einstellungen ändern. Wenn die VM über eine dynamische IP-Adresse verfügt, sind für den Neustart der VM zusätzliche Schritte erforderlich, wie unten beschrieben.

So erweitern Sie die Datenfestplatte Ihrer Harbor-Instanz:

  1. Klicken Sie in vSphere in der Ansicht Hosts und Cluster (Hosts and Clusters) mit der rechten Maustaste auf die Harbor-OVA-VM und wählen Sie Stromversorgung (Power) > Ausschalten (Power Off) aus:

    Screenshot der Harbor-Installation

  2. Klicken Sie erneut mit der rechten Maustaste auf die Harbor-OVA-VM und wählen Sie Einstellungen bearbeiten (Edit Settings) aus:

    Screenshot der Harbor-Installation

  3. Das Fenster Einstellungen bearbeiten (Edit Settings) wird geöffnet. Erhöhen Sie unter Virtuelle Hardware (Virtual Hardware) die Einstellung Festplatte 2 (Hard disk 2) auf eine von Ihnen bevorzugte Kapazität. Klicken Sie auf OK.

    Screenshot der Harbor-Installation

  4. Klicken Sie erneut mit der rechten Maustaste auf die Harbor-OVA-VM und wählen Sie Stromversorgung (Power) > Einschalten (Power on) aus, um die VM neu zu starten.

    Screenshot der Harbor-Installation

  5. Da Sie die Harbor-VM neu gestartet haben, müssen Sie je nach Konfiguration der Hostadresse der VM möglicherweise weitere Schritte durchführen:

  6. Statische IP-Adresse: Keine zusätzlichen Schritte.

  7. Dynamische IP-Adresse: Wenn sich die IP-Adresse der Harbor-VM geändert hat:

    1. Generieren Sie ein Zertifikat für die neue IP-Adresse, wie im Harbor-Repository im Thread Vorgehensweise zum Ändern eines vorhandenen abgelaufenen Harbor-CA-Zertifikats durch ein neues.
    2. Wenden Sie das neue Zertifikat auf die VM an, wie nachfolgend unter Rotieren von Zertifikaten beschrieben.
  8. FQDN: Wenn sich die IP-Adresse der Harbor-VM geändert hat, aktualisieren Sie deren Adresse in der Datei /etc/hosts der VM oder im DNS-Datensatz.

Rotieren von Zertifikaten

Wenn sich die IP-Adresse der Harbor-VM geändert hat, rotieren Sie ihr Zertifikat:

  1. Melden Sie sich mit ssh bei der VM an.

  2. Beenden Sie den Harbor-Dienst:

    systemctl stop harbor
    
  3. Sichern Sie die Dateien server.crt, server.key, ca.crt des alten Zertifikats, indem Sie sie verschieben oder umbenennen:

    • server.crt befindet sich in /storage/data/secret/cert/server.crt
    • server.key befindet sich in /storage/data/secret/cert/server.key
    • ca.crt befindet sich in /storage/data/ca_download/ca.crt
  4. Speichern Sie die Dateien server.crt, server.key, ca.crt des neuen Zertifikats unter den oben genannten Speicherorten und legen Sie die Zuständigkeit und die Berechtigungen für die Dateien auf die gleichen Einstellungen wie bei den alten Dateien fest.

  5. Starten Sie den Harbor-Dienst:

    systemctl start harbor
    

Nächste Schritte

Nachdem Sie diese Harbor-Registrierung zur Bereitstellung eines Verwaltungsclusters in einer Umgebungen mit Internetbeschränkungen verwendet haben, können Sie TKG-Arbeitslastcluster aktivieren, um Harbor auf zwei Arten zu verwenden:

  • Verwenden Sie die externe Harbor-Registrierung. Wenn diese Registrierung ein vertrauenswürdiges CA-Zertifikat verwendet, sind die Verbindungen zwischen Arbeitslastclustern und der Registrierung sicher. Wenn Ihre zentrale Registrierung selbstsignierte Zertifikate verwendet, können Sie TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY deaktivieren und die Option TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE angeben. Wenn Sie diese Option festlegen, werden Ihre selbstsignierten Zertifikate automatisch in Ihre Arbeitslastcluster eingefügt.

  • Stellen Sie eine zweite Instanz von Harbor als gemeinsam genutzten Dienst innerhalb von TKG bereit. VMware empfiehlt die Bereitstellung des Harbor-Pakets als gemeinsam genutzten Dienst, der von TKG verwaltet wird. Weitere Informationen finden Sie unter Installieren von Harbor für die Dienstregistrierung.

In Infrastrukturen mit Lastausgleich empfiehlt VMware die Installation des externen DNS-Paketdiensts neben dem Harbor-Dienst, wie unter Harbor-Registrierung und ExternalDNS beschrieben.

check-circle-line exclamation-circle-line close-line
Scroll to top icon