Si vous utilisez le registre Harbor intégré avec votre Superviseur, vous pouvez migrer les images du registre intégré vers le registre Harbor que vous avez installé en tant que Service de superviseur.

Conditions préalables

  • Vérifiez que les Services de superviseur Contour et Harbor sont installés sur le Superviseur.
  • Vérifiez que le DNS que vous utilisez avec votre Superviseur inclut une entrée du nom de domaine complet Harbor mappée à l'adresse IP d'entrée du service Envoy.
  • Vérifiez que la confiance est établie entre le Superviseur et Harbor. Si des images sont référencées par des clusters Tanzu Kubernetes Grid qui s'exécutent sur des Superviseurs différents de ceux sur lequel Harbor s'exécute, vérifiez qu'il existe une relation d'approbation entre ces clusters Tanzu Kubernetes Grid et Harbor.

Procédure

  1. Connectez-vous au Superviseur en tant qu'utilisateur vCenter Single Sign-On.
  2. Configurez la sortie d'accès réseau au Service de superviseur Harbor.
    1. Créez une CRD de stratégie réseau nommée allow-all-egress-harbor-supervisor-service sur l'espace de noms de service de Harbor, qui peut être nommé svc-harbor-domain-c9, par exemple.
      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. Accédez aux secrets du registre intégré afin de pouvoir ajouter ultérieurement le registre en tant que point de terminaison de réplication à Harbor.
    1. Accordez des autorisations de modification à votre utilisateur administratif vCenter Single Sign-On sur l'espace de noms du registre intégré qui peut être nommé vmware-system-registry-437393318, par exemple.

      Boîte de dialogue permettant l'ajout de l'autorisation de modification au compte d'administrateur.
    2. Accédez aux secrets à partir de l'espace de noms du registre intégré.
      # 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. Décodez le nom d'utilisateur et le mot de passe.
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. Ajoutez un point de terminaison de réplication et une règle de réplication pour le registre intégré au Service de superviseur Harbor.
    1. Connectez-vous en tant qu'utilisateur racine à l'interface utilisateur du Service de superviseur Harbor.
    2. Cliquez sur Registres, puis sur Nouveau point de terminaison.
      La fenêtre Nouveau point de terminaison de registre contient les données de l'URL et des informations d'identification de vRegistry
    3. Sélectionnez l'onglet Réplications et cliquez sur Nouvelle règle de réplication.
      Renseignez les paramètres suivants, en laissant les autres valeurs par défaut :
      • Nom : indiquez un nom pour la règle.
      • Mode de réplication : sélectionnez mode Pull.
      • Registre source : sélectionnez le point de terminaison de registre que vous avez ajouté.

      Fenêtre d'ajout d'une règle de réplication à Harbor avec les paramètres nécessaires sélectionnés.
    4. Cliquez sur Enregistrer.
  5. Sélectionnez la règle de réplication récemment créée et cliquez sur Répliquer.

Résultats

Le contenu du registre intégré est répliqué dans le registre Harbor.