È possibile installare il registro di container Harbor come servizio Supervisore ed eseguire Harbor come registro privato.

Prerequisiti

Assicurarsi che siano soddisfatti i prerequisiti seguenti:
Nota: Queste istruzioni vengono convalidate con la rete di vSphere 8 e NSX 4.

Scaricare i file YAML richiesti

Scaricare i file YAML richiesti, inclusi quelli di Contour e Harbor.
  1. Scaricare i seguenti file di Contour dal sito Kubernetes Ingress Controller Service:
    1. File di definizione del servizio Contour: contour.yml
    2. File di configurazione del servizio Contour: contour-data-values.yml
  2. Scaricare i seguenti file di Harbor dal sito Cloud Native Registry Service:
    1. File di definizione del servizio Harbor: harbor.yml
    2. File di configurazione del servizio Harbor: harbor-data-values.yml

Installare Contour

È necessario installare Contour prima di installare Harbor.
  1. Caricare contour.yml in vCenter facendo clic su Gestione carico di lavoro > > Servizi > Aggiungi.
  2. Verificare che venga aggiunta la definizione del servizio Contour.
  3. Selezionare Gestione carico di lavoro > Supervisori > Supervisore > Configura.
  4. Selezionare Servizi supervisore > Panoramica.
  5. Selezionare la scheda Disponibili.
  6. Selezionare Contour e fare clic su Installa.
  7. Copiare/incollare il contenuto dal file contour-data-values.yml nel campo di input "Configurazione servizio YAML".
    Nota: I valori dei dati di Contour possono essere utilizzati così come sono e non richiedono modifiche della configurazione. Il tipo di servizio per Envoy è impostato su LoadBalancer.
  8. Fare clic su OK per procedere con l'installazione di Contour.
  9. Verificare che Contour sia installato.
    1. Selezionare lo Spazio dei nomi vSphere denominato svc-contour-domain-XXXX.
    2. Selezionare la scheda Rete e quindi Servizi.
    3. Dovrebbero essere presenti il servizio Contour di tipo ClusterIP e il servizio Envoy di tipo LoadBalancer. Il servizio Envoy deve avere un indirizzo IP esterno.

Aggiornamento dei valori dei dati di Harbor

Prima di installare Harbor, aggiornare il file dei valori dei dati.
  1. Utilizzando un editor di testo, aprire il file harbor-data-values.yml.
  2. Apportare almeno le seguenti modifiche (la modifica degli altri campi è facoltativa).
  3. Salvare le modifiche.
    Nome Valore
    hostname harbordomain.com (scegliere un nome univoco)
    tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} (verificare questo valore ma non modificarlo)
    persistence.persistentVolumeClaim.registry.storageClass "vwt-storage-policy" (immettere il nome del criterio di storage di vSphere per il supervisore)
    persistence.persistentVolumeClaim.jobservice.storageClass "vwt-storage-policy" (immettere il nome del criterio di storage di vSphere per il supervisore)
    persistence.persistentVolumeClaim.database.storageClass "vwt-storage-policy" (immettere il nome del criterio di storage di vSphere per il supervisore)
    persistence.persistentVolumeClaim.redis.storageClass "vwt-storage-policy" (immettere il nome del criterio di storage di vSphere per il supervisore)
    persistence.persistentVolumeClaim.trivy.storageClass "vwt-storage-policy" (immettere il nome del criterio di storage di vSphere per il supervisore)

Installazione di Harbor

Installare Harbor seguendo le istruzioni seguenti.
  1. Caricare harbor.yml in vCenter facendo clic su Gestione carico di lavoro > > Servizi > Aggiungi.
  2. Verificare che venga aggiunta la definizione del servizio Harbor.
  3. Selezionare Gestione carico di lavoro > Supervisori > Supervisore > Configura.
  4. Selezionare Servizi supervisore > Panoramica.
  5. Selezionare la scheda Disponibili.
  6. Selezionare Harbor e fare clic su Installa.
  7. Copiare/incollare il contenuto dal file harbor-data-values.yml modificato nel campo di input "Configurazione servizio YAML".
  8. Fare clic su OK per procedere con l'installazione di Harbor.
  9. Verificare che Harbor sia installato.
    1. Selezionare lo Spazio dei nomi vSphere denominato svc-harbor-domain-XXXX.
    2. Selezionare la scheda Rete e quindi Servizi.
    3. Dovrebbero essere visualizzati diversi container installati per Harbor, ognuno dei quali è un servizio di tipo ClusterIP.

Configurazione di DNS per Harbor

Sarà necessario registrare un nome di dominio e configurare un record DNS per Harbor.
  1. Selezionare Gestione carico di lavoro > Spazi dei nomi.
  2. Selezionare lo spazio dei nomi Contour.
  3. Selezionare Rete > Servizi.
  4. Registrare l'indirizzo IP esterno per il servizio di ingresso Envoy, ad esempio 10.197.154.71.
  5. Registrare il nome di dominio completo di Harbor specificato nella configurazione di Harbor.
  6. Creare un record DNS "A" utilizzando AWS Route 53 o un servizio simile.

Accesso a Harbor

Una volta configurato il DNS di Harbor, effettuare l'accesso.
  1. Passare al nome del dominio registrato per Harbor.
  2. Accedere al dominio utilizzando la password di amministratore specificata nella configurazione di Harbor.
  3. Una volta effettuato l'accesso, modificare la password scegliendone una più sicura.

Configurare il supervisore in modo che consideri attendibile il registro Harbor (facoltativo)

I cluster TKG vengono configurati automaticamente per considerare attendibile il servizio Supervisore di Harbor quando il cluster TKG e Harbor vengono distribuiti nello stesso Supervisore. Il Supervisore NON viene invece configurato automaticamente in modo da considerare attendibile il servizio Supervisore di Harbor durante la creazione di Pod vSphere. Completare i passaggi seguenti per stabilire una relazione di attendibilità tra il Supervisore e il servizio Harbor aggiornando la mappa di configurazione con il certificato CA di Harbor.
  1. In Harbor passare ad Amministrazione > Configurazione > Impostazioni di sistema.
  2. Scaricare il certificato root del registro, ovvero un file denominato ca.crt.
  3. Configurare la variabile di ambiente KUBE_EDITOR.

    Vedere Configurazione di un editor di testo per Kubectl.

  4. Accedere al Supervisore tramite kubectl.

    Vedere Connettersi a Supervisore come utente vCenter Single Sign-On con Kubectl.

  5. Passare al contesto del Supervisore (indirizzo IP).
  6. Modificare configmap/image-fetch-ca-bundle utilizzando il seguente comando:
    kubectl edit configmap image-fetcher-ca-bundle -n kube-system
  7. Copiare il contenuto del file ca.crt di Harbor e aggiungerlo alla mappa di configurazione sotto il certificato esistente (che è per il Supervisore e non deve essere modificato). Salvare le modifiche apportate al file. In Kubectl viene visualizzato il massaggio "configmap/image-fetcher-ca-bundle edited".