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
- Melden Sie sich beim Supervisor als vCenter Single Sign-On-Benutzer an.
- Richten Sie den Netzwerkzugriff auf den Supervisor-Dienst von Harbor ein.
- 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: - {}
- 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.
- 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.
- Gewähren Sie Ihrem vCenter Single Sign-On-Administratorbenutzer im eingebetteten Registrierungs-Namespace Bearbeitungsberechtigungen, die beispielsweise vmware-system-registry-437393318 benannt werden können.
- 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 ...
- Entschlüsseln Sie den Benutzernamen und das Kennwort.
# echo 'WVdSdGFXND0=' | base64 -d | base64 -d admin # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d ?tc7@MRV$qF2fDc$
- Gewähren Sie Ihrem vCenter Single Sign-On-Administratorbenutzer im eingebetteten Registrierungs-Namespace Bearbeitungsberechtigungen, die beispielsweise vmware-system-registry-437393318 benannt werden können.
- Fügen Sie einen Replizierungs-Endpoint und eine Replizierungsregel für die eingebettete Registrierung zum Supervisor-Dienst von Harbor hinzu.
- Melden Sie sich als Root-Benutzer bei der Benutzeroberfläche des Supervisor-Dienst von Harbor an.
- Klicken Sie auf Registrierungen und dann auf Neuer Endpoint.
- 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.
- Klicken Sie auf Speichern.
- Wählen Sie die neu erstellte Replizierungsregel aus und klicken Sie auf Replizieren.