Wenn Sie die eingebettete Harbor-Registrierung mit Ihrem Supervisor verwenden, können Sie die Images aus der eingebetteten Registrierung zur Harbor-Registrierung migrieren, die Sie als Supervisor-Dienst installiert haben.

Voraussetzungen

  • Stellen Sie sicher, dass die Supervisor-Dienste Contour und Harbor auf dem Supervisor installiert sind.
  • Stellen Sie sicher, dass das DNS, das Sie mit Ihrem Supervisor verwenden, den Harbor-FQDN enthält, der der Ingress-IP des Envoy-Diensts zugeordnet ist.
  • Stellen Sie sicher, dass zwischen dem Supervisor und Harbor eine Vertrauensstellung besteht. Wenn Images von Tanzu Kubernetes Grid-Clustern referenziert werden, die auf anderen Supervisoren als Harbor ausgeführt werden, stellen Sie bitte sicher, dass zwischen diesen Tanzu Kubernetes Grid-Clustern eine Vertrauensstellung besteht.

Prozedur

  1. Melden Sie sich beim Supervisor als vCenter Single Sign-On-Benutzer an.
  2. Richten Sie den Netzwerkzugriff auf den Supervisor-Dienst von Harbor ein.
    1. Erstellen Sie eine Netzwerkrichtlinien-CRD mit dem Namen allow-all-egress-harbor-supervisor-service im Dienst-Namespace von Harbor, der beispielsweise svc-harbor-domain-c9 benannt werden kann.
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: allow-all-egress-harbor-supervisor-service
        namespace: svc-harbor-domain-c9
      spec:
        podSelector:
          matchLabels:
            app: harbor
        egress:
        - {}
  3. Greifen Sie auf die geheimen Schlüssel der eingebetteten Registrierung zu, sodass Sie die Registrierung später als Replizierungs-Endpoint zu Harbor hinzufügen können.
    1. Gewähren Sie Ihrem vCenter Single Sign-On-Administratorbenutzer im eingebetteten Registrierungs-Namespace Bearbeitungsberechtigungen, die beispielsweise vmware-system-registry-437393318 benannt werden können.

      Das Dialogfeld zum Hinzufügen der Bearbeitungsberechtigung zum Administratorkonto.
    2. Greifen Sie über den eingebetteten Registrierungs-Namespace auf die geheimen Schlüssel zu.
      # kubectl get secrets -n vmware-system-registry-437393318 harbor-437393318-controller-registry -o yaml
      apiVersion: v1
      data:
        harborAdminPassword: UDNSak4wQk5VbFlrY1VZeVprUmpKQT09
        harborAdminUsername: WVdSdGFXND0=
        harborPostgresPassword: TlRoS1ZHeEFLa1lrVkdjaGN6aGtXZz09
      kind: Secret
      ...
    3. Entschlüsseln Sie den Benutzernamen und das Kennwort.
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. Fügen Sie einen Replizierungs-Endpoint und eine Replizierungsregel für die eingebettete Registrierung zum Supervisor-Dienst von Harbor hinzu.
    1. Melden Sie sich als Root-Benutzer bei der Benutzeroberfläche des Supervisor-Dienst von Harbor an.
    2. Klicken Sie auf Registrierungen und dann auf Neuer Endpoint.
      Das Fenster „Neuer Registrierungs-Endpoint“ enthält die Daten für die vRegistry-URL und die Anmeldedaten
    3. Wählen Sie die Registerkarte Replizierungen aus und klicken Sie auf Neue Replizierungsregel.
      Geben Sie die folgenden Einstellungen ein und behalten Sie für den Rest die Standardwerte bei:
      • Name – Geben Sie einen Namen für die Regel an.
      • Replizierungsmodus – Wählen Sie Pull-basiert aus.
      • Quellregistrierung – Wählen Sie den Registrierungs-Endpoint aus, den Sie hinzugefügt haben.

      Das Fenster zum Hinzufügen einer Replizierungsregel zu Harbor mit den ausgewählten erforderlichen Einstellungen.
    4. Klicken Sie auf Speichern.
  5. Wählen Sie die neu erstellte Replizierungsregel aus und klicken Sie auf Replizieren.

Ergebnisse

Der Inhalt der eingebetteten Registrierung wird in die Harbor-Registrierung repliziert.