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.

  1. 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.
  2. 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
  3. 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.
  1. Creare lo spazio dei nomi per Harbor.
    kubectl create ns tanzu-system-registry
  2. 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
  3. 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.
  1. Ottenere l'indirizzo External-IP per il servizio Envoy di tipo LoadBalancer.
    kubectl get service envoy -n tanzu-system-ingress
    Dovrebbe essere visualizzato l'indirizzo External-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'indirizzo External-IP utilizzando il comando seguente.
    kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
  2. Per verificare l'installazione dell'estensione Harbor, aggiornare il file /etc/hosts locale con i FQDN Harbor e Notary mappati all'indirizzo External-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
    
  3. Per verificare l'installazione dell'estensione Harbor, accedere a Harbor.
  4. 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.
  5. 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.
  1. Passare al contesto dello Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster.
    kubectl config use-context VSPHERE-NAMESPACE
  2. Elencare i nodi nel cluster.
    kubectl get virtualmachines
  3. Scegliere uno dei nodi di lavoro e descriverlo utilizzando il comando seguente.
    kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
  4. Individuare l'indirizzo IP della macchina virtuale, ad esempio Vm Ip: 10.115.22.43.
  5. 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
    
  6. Per verificare l'installazione dell'estensione Harbor, accedere a Harbor.
  7. Creare due record CNAME su un server DNS che mappano l'indirizzo IP del nodo di lavoro ai FQDN Harbor e Notary.
  8. Installare l'estensione DNS esterno.

Accedere all'interfaccia Web di Harbor

Una volta installato e configurato Harbor, accedere e iniziare a utilizzarlo.
  1. Accedere all'interfaccia web del registro Harbor a https://core.harbor.domain o al nome host usato.

    Interfaccia Web del registro Harbor.

  2. Acceda a Harbor con il nome utente admin e la password generata che è stata inserita nel file del harbor-data-values.yaml.

    Pagina di accesso di Harbor con il nome utente admin e la password generata.

  3. Assicurarsi di poter accedere all'interfaccia utente di Harbor.

    La scheda Progetti dell'interfaccia utente di Harbor viene visualizzata dopo avere effettuato l'accesso.

  4. Ottenere il certificato CA di Harbor.

    Nell'interfaccia di Harbor, selezionare Progetti > libreria oppure creare un Nuovo progetto.

    Fare clic su Certificato di registro e scaricare il certificato CA di Harbor (ca.crt).

  5. 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.
  6. Fai riferimento alla documentazione di Harbor per i dettagli su come utilizzare Harbor.