Suivez ces instructions pour installer le registre de conteneur Harbor sur un cluster Service TKG qui exécute TKr pour vSphere 8.x.

Conditions requises

Créer des valeurs de données Harbor

Préparez l'installation de Harbor en créant le fichier de valeurs de données.

  1. Obtenez la dernière version du module Harbor pour votre référentiel.
    tanzu package available get harbor.tanzu.vmware.com -n tkg-system

    Ou, à l'aide de kubectl.

    kubectl -n tkg-system get packages | grep harbor
    Note : En général, vous devez utiliser la dernière version, sauf si vos exigences diffèrent.
  2. Générez le fichier 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
    Où :
    • 2.9.1+vmware.1-tkg.1 est la version du module cible
    • harbor-data-values.yaml est le nom et le chemin d'accès du fichier de valeurs de données à générer
  3. Modifiez le fichier harbor-data-values.yaml et mettez à jour les valeurs des paramètres suivants.

    Configurez des paramètres supplémentaires si nécessaire. Reportez-vous à la section Référence du module Harbor.

    Champ Description
    hostname Nom de domaine complet pour accéder à la console d'administration Harbor et au service de registre. Remplacez « yourdomain.com » par un nom d'hôte unique.
    harborAdminPassword Remplacez le mot de passe par un mot de passe fort et unique (peut également être modifié dans l'interface utilisateur après l'installation).
    persistence.persistentVolumeClaim.database.storageClass: Entrez le nom de la stratégie de stockage vSphere pour l'espace de noms vSphere.
    persistence.persistentVolumeClaim.jobservice.storageClass: Entrez le nom de la stratégie de stockage vSphere pour l'espace de noms vSphere.
    persistence.persistentVolumeClaim.redis.storageClass: Entrez le nom de la stratégie de stockage vSphere pour l'espace de noms vSphere.
    persistence.persistentVolumeClaim.registry.storageClass: Entrez le nom de la stratégie de stockage vSphere pour l'espace de noms vSphere.
    persistence.persistentVolumeClaim.trivy.storageClass: Entrez le nom de la stratégie de stockage vSphere pour l'espace de noms vSphere.
    tlsCertificate.tlsSecretLabels: {"managed-by": "vmware-vRegistry"}

Installer Harbor

Effectuez les étapes suivantes pour installer le Registre Harbor.
  1. Créez l'espace de noms pour Harbor.
    kubectl create ns tanzu-system-registry
  2. Installez 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
  3. Vérifiez l'installation de Harbor.
    tanzu package installed get harbor --namespace tanzu-system-registry

Configurer DNS pour Harbor à l'aide d'un service Envoy de type LoadBalancer

Si le service Contour avec Envoy requis est exposé via un LoadBalancer, obtenez l'adresse IP externe de l'équilibrage de charge et créez des enregistrements DNS pour les noms de domaine complets Harbor.
  1. Obtenez l'adresse External-IP pour le service Envoy de type LoadBalancer.
    kubectl get service envoy -n tanzu-system-ingress
    Vous devez voir l'adresse External-IP renvoyée, par exemple :
    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
    Vous pouvez également obtenir l'adresse External-IP à l'aide de la commande suivante.
    kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
  2. Pour vérifier l'installation de l'extension Harbor, mettez à jour votre fichier /etc/hosts local avec les noms de domaine complets Harbor et Notary mappés à l'adresse External-IP de l'équilibrage de charge, par exemple :
    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
    
  3. Pour vérifier l'installation de l'extension Harbor, connectez-vous à Harbor.
  4. Créez deux enregistrements CNAME sur un serveur DNS qui mappent l'adresse External-IP de l'équilibrage de charge du service Envoy aux noms de domaine complets Harbor et Notary.
  5. Installez l'extension DNS externe.

Configurer DNS pour Harbor à l'aide d'un service Envoy de type NodePort

Si le service Contour > Envoy requis est exposé via un NodePort, obtenez l'adresse IP de machine virtuelle d'un nœud worker et créez des enregistrements DNS pour les noms de domaine complets Harbor.
Note : Pour utiliser NodePort, vous devez avoir spécifié la valeur port.https correcte dans le fichier harbor-data-values.yaml.
  1. Changez de contexte pour utiliser l'Espace de noms vSphere où le cluster est provisionné.
    kubectl config use-context VSPHERE-NAMESPACE
  2. Répertoriez les nœuds du cluster.
    kubectl get virtualmachines
  3. Choisissez l'un des nœuds worker et décrivez-le à l'aide de la commande suivante.
    kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
  4. Localisez l'adresse IP de la machine virtuelle, par exemple Vm Ip: 10.115.22.43.
  5. Pour vérifier l'installation de l'extension Harbor, mettez à jour votre fichier /etc/hosts local avec les noms de domaine complets Harbor et Notary mappés à l'adresse IP du nœud worker, par exemple :
    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
    
  6. Pour vérifier l'installation de l'extension Harbor, connectez-vous à Harbor.
  7. Créez deux enregistrements CNAME sur un serveur DNS qui mappent l'adresse IP du nœud worker aux noms de domaine complets Harbor et Notary.
  8. Installez l'extension DNS externe.

Se connecter à l'interface Web de Harbor

Une fois Harbor installé et configuré, connectez-vous et commencez à l'utiliser.
  1. Accédez à l'interface Web du registre Harbor à l'adresse https://core.harbor.domain ou au nom d'hôte que vous avez utilisé.

    Interface Web du registre Harbor.

  2. Connectez-vous à Harbor avec le nom d'utilisateur admin et le mot de passe généré que vous avez placé dans le fichier harbor-data-values.yaml.

    Page de connexion Harbor avec le nom d'utilisateur admin et le mot de passe généré.

  3. Vérifiez que vous pouvez accéder à l'interface utilisateur de Harbor.

    L'onglet Projets de l'interface utilisateur de Harbor s'affiche une fois que vous êtes connecté.

  4. Obtenez le certificat d'autorité de certification Harbor.

    Dans l'interface de Harbor, sélectionnez Projets > Bibliothèque ou créez un Nouveau projet.

    Cliquez sur Certificat de registre et téléchargez le certificat d'autorité de certification Harbor (ca.crt).

  5. Ajoutez le certificat d'autorité de certification Harbor dans le magasin d'approbations du client Docker afin de pouvoir transférer et extraire des images de conteneur vers et depuis le registre Harbor. Reportez-vous à la section Utilisation de registres privés avec des clusters Service TKG.
  6. Pour plus d'informations sur l'utilisation de Harbor, reportez-vous à la documentation de Harbor.