Vous pouvez installer le registre de conteneur Harbor en tant que service Superviseur et exécuter Harbor en tant que registre privé.
Conditions requises
Respectez les conditions préalables suivantes :
- vSphere 8 Superviseur est activé
- Familiarisez-vous avec les services de superviseur
Note : Ces instructions sont validées avec la mise en réseau vSphere 8 et NSX 4.
Télécharger les fichiers YAML requis
Téléchargez les fichiers YAML requis, y compris Contour et Harbor.
- Téléchargez les fichiers Contour suivants à partir du site Service de contrôleur d'entrée Kubernetes :
- Fichier de définition du service Contour : contour.yml
- Fichier de configuration du service Contour : contour-data-values.yml
- Téléchargez les fichiers Harbor suivants sur le site Service de registre de cloud natif :
- Fichier de définition du service Harbor : harbor.yml
- Fichier de configuration du service Harbor : harbor-data-values.yml
Installer Contour
Vous devez d'abord installer Contour avant d'installer Harbor.
- Téléchargez le fichier contour.yml dans vCenter en accédant à .
- Vérifiez que la définition du service Contour est ajoutée.
- Sélectionnez .
- Sélectionnez .
- Sélectionnez l'onglet Disponible.
- Sélectionnez Contour et cliquez sur Installer.
- Copiez/collez le contenu du fichier contour-data-values.yml dans le champ d'entrée « Configuration du service YAML ».
Note : Les valeurs de données Contour peuvent être utilisées telles quelles et ne nécessitent aucune modification de configuration. Le type de service pour Envoy est défini sur LoadBalancer.
- Cliquez sur OK pour procéder à l'installation de Contour.
- Vérifiez que Contour est installé.
- Sélectionnez l'Espace de noms vSphere nommé svc-contour-domain-XXXX.
- Sélectionnez l'onglet Réseau, puis Services.
- Vous devez voir le service Contour de type ClusterIP et le service Envoy de type LoadBalancer. Le service Envoy doit disposer d'une adresse IP externe.
Mettre à jour les valeurs de données Harbor
Avant d'installer Harbor, mettez à jour le fichier de valeurs de données.
- À l'aide d'un éditeur de texte, ouvrez le fichier harbor-data-values.yml.
- Apportez les modifications suivantes (au minimum, la modification des autres champs est facultative).
- Enregistrez les modifications.
Nom Valeur hostname harbordomain.com (choisissez quelque chose d'unique) tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} (vérifiez cette valeur, mais conservez-la telle quelle) persistence.persistentVolumeClaim.registry.storageClass « vwt-storage-policy » (entrez le nom de la stratégie de stockage vSphere pour le superviseur) persistence.persistentVolumeClaim.jobservice.storageClass « vwt-storage-policy » (entrez le nom de la stratégie de stockage vSphere pour le superviseur) persistence.persistentVolumeClaim.database.storageClass « vwt-storage-policy » (entrez le nom de la stratégie de stockage vSphere pour le superviseur) persistence.persistentVolumeClaim.redis.storageClass « vwt-storage-policy » (entrez le nom de la stratégie de stockage vSphere pour le superviseur) persistence.persistentVolumeClaim.trivy.storageClass « vwt-storage-policy » (entrez le nom de la stratégie de stockage vSphere pour le superviseur)
Installer Harbor
Installez Harbor en suivant les instructions suivantes.
- Téléchargez le fichier harbor.yml dans vCenter en accédant à .
- Vérifiez que la définition du service Harbor est ajoutée.
- Sélectionnez .
- Sélectionnez .
- Sélectionnez l'onglet Disponible.
- Sélectionnez Harbor et cliquez sur Installer.
- Copiez/collez le contenu du fichier harbor-data-values.yml que vous avez modifié dans le champ d'entrée « Configuration du service YAML ».
- Cliquez sur OK pour procéder à l'installation de Harbor.
- Vérifiez que Harbor est installé.
- Sélectionnez l'Espace de noms vSphere nommé svc-harbor-domain-XXXX.
- Sélectionnez l'onglet Réseau, puis Services.
- Vous devez voir plusieurs conteneurs installés pour Harbor, chacun étant un service de type ClusterIP.
Configurer DNS pour Harbor
Vous devrez enregistrer un nom de domaine et configurer un enregistrement DNS pour Harbor.
- Sélectionnez .
- Sélectionnez l'espace de noms Contour.
- Sélectionnez .
- Enregistrez l'adresse IP externe du service d'entrée Envoy, par exemple 10.197.154.71.
- Enregistrez le nom de domaine Harbor (FQDN) que vous avez spécifié dans la configuration Harbor.
- Créez un enregistrement « A » DNS à l'aide d'AWS Route 53 ou d'un service similaire.
Se connecter à Harbor
Une fois le DNS Harbor configuré, connectez-vous.
- Accédez au nom de domaine que vous avez enregistré pour Harbor.
- Connectez-vous au domaine en utilisant les valeurs admin | mot de passe que vous avez spécifiées dans la configuration Harbor.
- Une fois connecté, modifiez le mot de passe en un élément plus sécurisé.
Configurer le superviseur pour approuver le registre Harbor (facultatif)
Les clusters TKG sont automatiquement configurés pour approuver le service de
Superviseur Harbor lorsque le cluster TKG et Harbor sont déployés sur le même
Superviseur. Toutefois, le
Superviseur n'est PAS automatiquement configuré pour approuver le service de
Superviseur Harbor lors de la création de
Espaces vSphere. Effectuez ces étapes pour établir une relation de confiance entre le
Superviseur et le service Harbor en mettant à jour le configmap avec le certificat d'autorité de certification Harbor.
- Dans Harbor, accédez à .
- Téléchargez le certificat racine du registre, qui est un fichier nommé ca.crt.
- Configurez la variable d'environnement KUBE_EDITOR.
Reportez-vous à la section Configurer un éditeur de texte pour Kubectl.
- Connectez-vous à Superviseur à l'aide de kubectl.
Reportez-vous à la section Se connecter au Superviseur en tant qu'utilisateur vCenter Single Sign-On avec Kubectl.
- Changez de contexte pour le contexte Superviseur (adresse IP).
- Modifiez configmap/image-fetch-ca-bundle à l'aide de la commande suivante :
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- Copiez le contenu du fichier Harbor ca.crt et ajoutez-lui le configmap sous le certificat existant (qui est destiné au Superviseur et ne doit pas être modifié). Enregistrez les modifications apportées au fichier. Vous devez voir que Kubectl indique « configmap/image-fetcher-ca-bundle edit ».