Déployer un registre Harbor hors ligne sur vSphere

Cette rubrique décrit comment installer un registre d'images Harbor privé à partir d'un fichier OVA téléchargé, afin de fournir les images nécessaires pour déployer Tanzu Kubernetes Grid (TKG) dans un environnement de vSphere hors ligne. Le registre Harbor obtenu s'exécute en parallèle et séparément de TKG pour stocker et gérer les images de composants utilisées par TKG.

Important

  • Ce déploiement d'Harbor basé sur une VM est uniquement pris en charge pour héberger des images système TKG dans un environnement à accès restreint à Internet ou isolé. Pour déployer une instance de Harbor évolutive et hautement disponible pouvant gérer un grand nombre d'images pour des applications hébergées dans un environnement de production, déployez le module Harbor sur des clusters TKG, comme décrit dans la section Installer Harbor pour le registre de service du document Création et gestion de clusters de charge de travail TKG 2.4 avec la CLI Tanzu.

  • Notary et Chartmuseum sont déconseillés depuis Harbor v2.6 et leur suppression est prévue dans une version ultérieure, comme indiqué dans les Notes de mise à jour de Harbor v2.6.0. Basculez vers Sigstore Cosign pour la signature et la vérification du conteneur.

Conditions requises

Déployer Harbor

Pour déployer Harbor à partir d'un fichier OVA :

  1. Dans vCenter, cliquez avec le bouton droit sur un cluster vSphere et choisissez Déployer le modèle OVF (Deploy OVF Template)….

    Capture d'écran d'installation Harbor

  2. Une fenêtre Déployer le modèle OVF (Deploy OVF Template) s'affiche. Sélectionnez Fichier local et accédez à l'emplacement du fichier OVA Harbor téléchargé.

  3. Cliquez sur SUIVANT (NEXT) en bas à droite. Une série de volets de configuration s'affiche.

  4. Vérification de la source : Cliquez sur OUI (YES).

    Capture d'écran d'installation Harbor

  5. Nom de la machine virtuelle : entrez le nom de votre choix pour la machine virtuelle qui exécute l'instance d'Harbor. Cliquez sur SUIVANT.

    Capture d'écran d'installation Harbor

  6. Sélectionner une ressource de calcul : conservez le choix par défaut et cliquez sur SUIVANT (NEXT).

    Capture d'écran d'installation Harbor

    Cette étape peut prendre quelques minutes, car vSphere télécharge et rend le modèle OVF.

  7. Vérifier les informations : Cliquez sur SUIVANT.

    Capture d'écran d'installation Harbor

  8. Contrats de licence : acceptez la licence et cliquez sur SUIVANT (NEXT).

    Capture d'écran d'installation Harbor

  9. Sélectionner le stockage : sélectionnez vsanDatastore et cliquez sur SUIVANT (NEXT).

    Capture d'écran d'installation Harbor

  10. Sélectionner les réseaux : choisissez la valeur par défaut Réseau de VM (VM Network) et cliquez sur SUIVANT (NEXT).

    Capture d'écran d'installation Harbor

  11. Personnaliser le modèle > Informations d'identification de VM :

    Capture d'écran d'installation Harbor

    1. Mot de passe racine (Root Password) (obligatoire) : votre mot de passe préféré pour le compte d'utilisateur root sur la machine virtuelle, qui doit comporter entre 8 et 128 caractères.

    2. Autoriser SSH via la racine (Allow SSH via Root) : laissez la valeur par défaut, activée (enabled), pour autoriser ssh à accéder à la machine virtuelle en tant qu'utilisateur root.

  12. Personnaliser le modèle > Configurations Harbor :

    Capture d'écran d'installation Harbor

    1. Nom d'hôte (facultatif) : s'il est fourni, nom d'hôte Harbor en tant que nom de domaine complet, tel que yourdomain.com. Ne peut pas être une adresse IP ou localhost.

      Si vous spécifiez Hostname la propriété SAN (Subject Alt Names) contient uniquement les informations DNS ; aucune information IP n'est fournie.

      Si vous ne spécifiez pas Hostname, la propriété SAN contient uniquement les informations IP, aucune information DNS n'est fournie.

    2. Mot de passe administrateur (obligatoire) [Administrator Password (Required)] : mot de passe de l'utilisateur Harbor admin. Utilisé par les administrateurs pour accéder à l'interface utilisateur Harbor et par les conteneurs clients pour extraire et transférer des images. Il doit contenir entre 8 et 128 caractères.

    3. Mot de passe de la base de données Harbor (Harbor Database Password) : mot de passe de la base de données interne Harbor. S'il est fourni, il doit contenir entre 8 et 128 caractères.

    4. Activer le scanner par défaut Harbor (Enable Harbor Default Scanner) : activez ce paramètre pour installer le scanner Trivy et activez-le pour analyser les images au fur et à mesure qu'elles sont téléchargées dans Harbor.

    5. Utiliser un certificat auto-signé pour Harbor (Use Self-signed Certificate For Harbor) :

      • activez ces certificats auto-signés et laissez Certificat d'autorité de certification (CA Certificate), Certificat de serveur (Server Certificate) et Clé de serveur (Server Key) vides.

      • Sinon, désactivez Utiliser un certificat auto-signé pour Harbor (Use Self-signed Certificate For Harbor) et collez le contenu des fichiers multilignes pour Certificat d'autorité de certification (CA Certificate), Certificat de serveur (Server Certificate) et Clé de serveur (Server Key). Lorsque vous les collez dans le formulaire, les valeurs multilignes se transforment en chaîne d'une ligne avec le caractère espace comme délimiteur.

  13. Personnaliser le modèle > Configurations de mise en réseau :

    Capture d'écran d'installation Harbor

    1. Adresse IP (IP Address), Masque de réseau (Netmask) et Passerelle (Gateway) : une adresse IP statique, un masque de réseau et une passerelle pour eth0, le cas échéant.

    2. DNS, Domaine DNS (DNS Domain) : serveur et domaine DNS pour la VM Harbor.

  14. (Facultatif) Personnaliser le modèle (Customize template) > Configurations de Docker (Docker Configurations) :

    Capture d'écran d'installation Harbor

    Cette configuration est facultative et uniquement disponible pour les fichiers OVA avec Harbor v2.8.x ou une version ultérieure.

    1. Valeur BIP du démon Docker : Valeur au format CIDR pour configurer le démon Docker, par exemple : 198.18.251.1/24

    2. Base du pool d'adresses 1 (Address Pool 1 Base), Taille du pool d'adresses 1 (Address Pool 1 Size) : La base du pool d'adresses et la taille du pool d'adresses doivent être configurées par paires, le cas échéant. Nous autorisons au maximum trois paires de la base de pool d'adresses et de la taille de pool d'adresses. La base du pool d'adresses doit également être au format CIDR, par exemple 198.18.252.0/22 et la taille du pool d'adresses doit être un nombre entier compris entre 1 et 32.

  15. Prêt à terminer (Ready to complete) : vérifiez la configuration et cliquez sur TERMINER (FINISH).

    Capture d'écran d'installation Harbor

Surveiller et déboguer le déploiement

Déploiement de Docker (facultatif)

Pour les fichiers OVA avec Harbor v2.8.x ou une version ultérieure, vous pouvez éventuellement définir une configuration de démon Docker à exécuter sur le fichier OVA, comme configuré sous l'onglet Configurations de Docker (Docker Configurations) décrit ci-dessus.

Si vous entrez des arguments non valides sous Configurations de Docker (Docker Configurations), le service firstboot systemd et Docker échouent.

Pour vérifier l'installation de Docker, utilisez ssh pour vous connecter à la VM Harbor et exécutez systemctl status firstboot et systemctl status docker. Si l'état du service firstboot est répertorié sous Active: failed, le déploiement a échoué, mais s'il indique Active: inactive (dead) et firstboot.service: Succeeded, et que le service docker est répertorié sous Active: active (running), le déploiement a réussi.

Pour plus d'informations sur les journaux, exécutez journalctl -u firstboot et journalctl -u docker.

Déploiement de Harbor (Harbor Deployment) :

La première fois que vous déployez un fichier OVA Harbor, Harbor met plusieurs minutes à charger des images Docker.

Pour surveiller le processus et confirmer qu'il progresse, connectez-vous via ssh à la machine virtuelle et exécutez :

watch docker ps

Si Harbor ne s'exécute pas après environ 5 minutes, récupérez le fichier journal sur la machine virtuelle à des fins de débogage :

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

  2. Recherchez le fichier journal et décompressez-le. Il porte un nom semblable à /storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz

Dépannage

Error: Impossible de récupérer le fichier de manifeste ou de certificat

  1. Si vous voyez Error: Unable to retrieve manifest or certificate file comme ci-dessous, essayez de déployer à nouveau le fichier OVA Harbor.

    Capture d'écran d'installation Harbor

Aucune prise en charge du cache de proxy Harbor

Vous ne pouvez pas utiliser la fonctionnalité de cache de proxy de Harbor pour exécuter Tanzu Kubernetes Grid v2.4 dans un environnement à accès restreint à Internet. Vous pouvez toujours utiliser un cache de proxy Harbor pour transmettre par proxy des images de versions antérieures de Tanzu Kubernetes Grid et des images non-Tanzu, telles que des images d'application.

Réinitialiser le mot de passe racine

Si vous avez perdu le mot de passe root, récupérez-le en suivant la procédure décrite dans la section Réinitialiser un mot de passe racine perdu.

Développer le disque de données

Une instance de Harbor déployée à partir d'un fichier OVA comprend deux disques :

  • Disque de données (Data disk) : contient des données d'application Harbor et des fichiers de certificat ; monté en tant que /storage.
  • Disque système (System disk) : contient les données système de la machine virtuelle et des images de démarrage Harbor, et exécute les images de démarrage.

Si vous avez besoin d'augmenter la taille du disque de données de Harbor pour répondre aux demandes, vous devez mettre temporairement hors tension la VM Harbor pendant que vous modifiez les paramètres. Si la machine virtuelle dispose d'une adresse IP dynamique, le redémarrage de la machine virtuelle nécessite des étapes supplémentaires, comme décrit ci-dessous.

Pour développer le disque de données de votre instance Harbor :

  1. Dans la vue Hôtes et clusters (Hosts and Clusters) de vSphere, cliquez avec le bouton droit sur la VM OVA Harbor, puis choisissez Alimentation (Power) > Mettre hors tension (Power Off) :

    Capture d'écran d'installation Harbor

  2. Cliquez de nouveau avec le bouton droit sur la VM OVA Harbor et choisissez Modifier les paramètres (Edit Settings) :

    Capture d'écran d'installation Harbor

  3. Une fenêtre Modifier les paramètres (Edit Settings) s'affiche. Sous Matériel virtuel (Virtual Hardware), augmentez le paramètre Disque dur 2 (Hard disk 2) à la capacité souhaitée. Cliquez sur OK.

    Capture d'écran d'installation Harbor

  4. Cliquez de nouveau avec le bouton droit sur la VM OVA Harbor et choisissez Alimentation (Power) > Mettre sous tension (Power On) pour redémarrer la VM.

    Capture d'écran d'installation Harbor

  5. Après le redémarrage de la VM Harbor, vous devrez peut-être effectuer des étapes supplémentaires en fonction de la configuration de l'adresse d'hôte de la VM :

  6. Adresse IP statique (Static IP address) : Aucune étape supplémentaire.

  7. Adresse IP dynamique (Dynamic IP address) : Si l'adresse IP de la VM Harbor a été modifiée :

    1. Générez un certificat pour la nouvelle adresse IP, comme décrit dans le fil de discussion Comment remplacer le certificat d'autorité de certification Harbor existant expiré par un nouveau certificat dans le référentiel Harbor.
    2. Appliquez le nouveau certificat à la VM, comme décrit dans la section Rotation des certificats ci-dessous.
  8. Nom de domaine complet (FQDN) : Si l'adresse IP de la VM Harbor a été modifiée, mettez à jour son adresse dans le fichier /etc/hosts de la VM ou dans l'enregistrement DNS.

Rotation des certificats

Lorsque l'adresse IP de la VM Harbor a changé, procédez à une rotation de son certificat :

  1. Connectez-vous via ssh à la VM.

  2. Arrêtez le service Harbor :

    systemctl stop harbor
    
  3. Sauvegardez les fichiers server.crt, server.key et ca.crt de l'ancien certificat en les déplaçant ou en les renommant :

    • server.crt se trouve dans /storage/data/secret/cert/server.crt
    • server.key se trouve dans /storage/data/secret/cert/server.key
    • ca.crt se trouve dans /storage/data/ca_download/ca.crt
  4. Enregistrez les nouveaux certificats server.crt, server.key et ca.crt dans les emplacements ci-dessus et définissez leur propriété de fichier et leurs autorisations en utilisant les mêmes paramètres que ceux des anciens fichiers.

  5. Démarrez le service Harbor :

    systemctl start harbor
    

Tâches suivantes

Après avoir utilisé ce registre Harbor pour déployer un cluster de gestion dans un environnement à accès restreint à Internet, vous pouvez activer les clusters de charge de travail TKG pour utiliser Harbor de l'une des deux manières suivantes :

  • Utilisez le registre Harbor externe. Si ce registre utilise un certificat d'autorité de certification approuvé, les connexions entre les clusters de charge de travail et le registre sont sécurisées. Si votre registre central utilise des certificats auto-signés, vous pouvez désactiver TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY et spécifier l'option TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE. La définition de cette option injecte automatiquement vos certificats auto-signés dans les clusters de charge de travail.

  • Déployez une deuxième instance d'Harbor en tant que service partagé dans TKG. VMware recommande de déployer le module Harbor en tant que service partagé géré par TKG. Pour plus d'informations, reportez-vous à la section Installer Harbor pour le registre de service.

Sur les infrastructures avec équilibrage de charge, VMware recommande d'installer le service packagé DNS externe avec le service Harbor, comme décrit dans la section Registre d'hôte et DNS externe.

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