Seguire queste istruzioni per installare il registro del container Harbor in un cluster Servizio TKG che esegue TKr per vSphere 8.x.
Prerequisiti
Creazione dei valori dei dati di Harbor
Preparare l'installazione di Harbor creando il file dei valori dei dati.
- Recuperare la versione più recente del pacchetto Harbor per il repository.
tanzu package available get harbor.tanzu.vmware.com -n tkg-system
Oppure, tramite kubectl.
kubectl -n tkg-system get packages | grep harbor
Nota: In genere, è consigliabile utilizzare la versione più recente a meno che i requisiti non siano diversi. - Generare il file
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
dove:- 2.9.1+vmware.1-tkg.1 è la versione del pacchetto di destinazione
- harbor-data-values.yaml è il nome e il percorso del file dei valori dei dati da generare
- Modificare il file
harbor-data-values.yaml
e aggiornare i valori per i seguenti parametri obbligatori.Configurare i parametri aggiuntivi in base alle esigenze. Vedere Informazioni di riferimento sul pacchetto Harbor.
Campo Descrizione hostname
Nome di dominio completo per accedere alla console di amministrazione e al servizio del registro di Harbor. Sostituire "yourdomain.com" con un nome host univoco. harborAdminPassword
Modificare la password scegliendone una efficace e univoca (può essere modificata anche nell'interfaccia utente dopo l'installazione). persistence.persistentVolumeClaim.database.storageClass:
Immettere il nome del criterio di storage vSphere per lo spazio dei nomi vSphere. persistence.persistentVolumeClaim.jobservice.storageClass:
Immettere il nome del criterio di storage vSphere per lo spazio dei nomi vSphere. persistence.persistentVolumeClaim.redis.storageClass:
Immettere il nome del criterio di storage vSphere per lo spazio dei nomi vSphere. persistence.persistentVolumeClaim.registry.storageClass:
Immettere il nome del criterio di storage vSphere per lo spazio dei nomi vSphere. persistence.persistentVolumeClaim.trivy.storageClass:
Immettere il nome del criterio di storage vSphere per lo spazio dei nomi vSphere. tlsCertificate.tlsSecretLabels:
{"managed-by": "vmware-vRegistry"}
Installare Harbor
Completare i passaggi seguenti per installare il registro Harbor.
- Creare lo spazio dei nomi per Harbor.
kubectl create ns tanzu-system-registry
- Installare 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
- Verificare l'installazione di Harbor.
tanzu package installed get harbor --namespace tanzu-system-registry
Configurare il server DNS per Harbor utilizzando un servizio Envoy di tipo LoadBalancer
Se è stato esposto il servizio Contour con Envoy prerequisito tramite un LoadBalancer, ottenere l'indirizzo IP esterno del bilanciamento del carico e creare record DNS per i nomi di dominio completi di Harbor.
- Ottenere l'indirizzo
External-IP
per il servizio Envoy di tipo LoadBalancer.kubectl get service envoy -n tanzu-system-ingress
Dovrebbe essere visualizzato l'indirizzoExternal-IP
restituito, ad esempio: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
In alternativa, è possibile ottenere l'indirizzoExternal-IP
utilizzando il comando seguente.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Per verificare l'installazione dell'estensione Harbor, aggiornare il file
/etc/hosts
locale con i FQDN Harbor e Notary mappati all'indirizzoExternal-IP
del bilanciamento del carico, ad esempio: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
- Per verificare l'installazione dell'estensione Harbor, accedere a Harbor.
- Creare due record CNAME su un server DNS che mappa l'indirizzo
External-IP
del bilanciamento del carico del servizio Envoy al FQDN Harbor e Notary. - Installare l'estensione DNS esterno.
Configurare il server DNS per Harbor utilizzando un servizio Envoy di tipo NodePort
Se è stato esposto il servizio Contour > Envoy prerequisito tramite NodePort, ottenere l'indirizzo IP della macchina virtuale di un nodo di lavoro e creare record DNS per i nomi di dominio completi di Harbor.
Nota: Per utilizzare NodePort, è necessario aver specificato il valore
port.https
corretto nel file
harbor-data-values.yaml
.
- Passare al contesto dello Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster.
kubectl config use-context VSPHERE-NAMESPACE
- Elencare i nodi nel cluster.
kubectl get virtualmachines
- Scegliere uno dei nodi di lavoro e descriverlo utilizzando il comando seguente.
kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
- Individuare l'indirizzo IP della macchina virtuale, ad esempio
Vm Ip: 10.115.22.43
. - Per verificare l'installazione dell'estensione Harbor, aggiornare il file
/etc/hosts
locale con i FQDN Harbor e Notary mappati all'indirizzo IP del nodo di lavoro, ad esempio: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
- Per verificare l'installazione dell'estensione Harbor, accedere a Harbor.
- Creare due record CNAME su un server DNS che mappano l'indirizzo IP del nodo di lavoro ai FQDN Harbor e Notary.
- Installare l'estensione DNS esterno.
Accedere all'interfaccia Web di Harbor
Una volta installato e configurato Harbor, accedere e iniziare a utilizzarlo.
- Accedere all'interfaccia web del registro Harbor a
https://core.harbor.domain
o al nome host usato. - Acceda a Harbor con il nome utente admin e la password generata che è stata inserita nel file del
harbor-data-values.yaml
. - Assicurarsi di poter accedere all'interfaccia utente di Harbor.
- Ottenere il certificato CA di Harbor.
Nell'interfaccia di Harbor, selezionare Nuovo progetto.
oppure creare unFare clic su Certificato di registro e scaricare il certificato CA di Harbor (ca.crt).
- Aggiungere il certificato CA di Harbor nel trust store del client Docker così da poter inviare ed estrarre immagini del contenitore verso e dal registro Harbor. Vedere Utilizzo di registri privati con cluster Servizio TKG.
- Fai riferimento alla documentazione di Harbor per i dettagli su come utilizzare Harbor.