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
Respectez les conditions préalables suivantes.
Créer des valeurs de données Harbor
Préparez l'installation de Harbor en créant le fichier de valeurs de données.
- 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. - 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
- 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.
- Créez l'espace de noms pour Harbor.
kubectl create ns tanzu-system-registry
- 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
- 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.
- Obtenez l'adresse
External-IP
pour le service Envoy de type LoadBalancer.kubectl get service envoy -n tanzu-system-ingress
Vous devez voir l'adresseExternal-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'adresseExternal-IP
à l'aide de la commande suivante.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- 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'adresseExternal-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
- Pour vérifier l'installation de l'extension Harbor, connectez-vous à Harbor.
- 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. - 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
.
- Changez de contexte pour utiliser l'Espace de noms vSphere où le cluster est provisionné.
kubectl config use-context VSPHERE-NAMESPACE
- Répertoriez les nœuds du cluster.
kubectl get virtualmachines
- 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
- Localisez l'adresse IP de la machine virtuelle, par exemple
Vm Ip: 10.115.22.43
. - 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
- Pour vérifier l'installation de l'extension Harbor, connectez-vous à Harbor.
- 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.
- Installez l'extension DNS externe.
Se connecter à l'interface Web de Harbor
Une fois Harbor installé et configuré, connectez-vous et commencez à l'utiliser.
- Accédez à l'interface Web du registre Harbor à l'adresse
https://core.harbor.domain
ou au nom d'hôte que vous avez utilisé. - 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
. - Vérifiez que vous pouvez accéder à l'interface utilisateur de Harbor.
- Obtenez le certificat d'autorité de certification Harbor.
Dans l'interface de Harbor, sélectionnez Nouveau projet.
ou créez unCliquez sur Certificat de registre et téléchargez le certificat d'autorité de certification Harbor (ca.crt).
- 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.
- Pour plus d'informations sur l'utilisation de Harbor, reportez-vous à la documentation de Harbor.