Distribuzione di un registro Harbor offline in vSphere

Questo argomento descrive come installare un registro di immagini privato di Harbor da un file OVA scaricato per fornire le immagini necessarie per distribuire Tanzu Kubernetes Grid (TKG) in un ambiente vSphere offline. Il registro di Harbor risultante viene eseguito insieme e separatamente da TKG per memorizzare e gestire le immagini dei componenti utilizzate da TKG.

Importante

  • Questa distribuzione di Harbor basata sulla macchina virtuale è supportata solo per l'hosting delle immagini del sistema TKG in un ambiente con limitazioni Internet o con air gap. Per distribuire un'istanza di Harbor scalabile ad alta disponibilità in grado di gestire un numero elevato di immagini per le app ospitate in un ambiente di produzione, distribuire il pacchetto di Harbor ai cluster TKG come descritto in Installazione di Harbor per il registro del servizio in Creazione e gestione di cluster del carico di lavoro TKG 2.4 con la CLI di Tanzu.

  • Notary e Chartmuseum sono obsoleti in Harbor v2.6 e si prevede che saranno rimossi da una versione futura, come indicato nelle Note di rilascio di Harbor v2.6.0. Passare a Sigstore Cosign per la firma e la verifica del container.

Prerequisiti

Distribuire Harbor

Per distribuire Harbor da un file OVA:

  1. In vCenter, fare clic con il pulsante destro del mouse su un cluster vSphere e scegliere Distribuisci modello OVF….

    Screenshot dell'installazione di Harbor

  2. Viene visualizzata la finestra Distribuisci modello OVF. Selezionare File locale (Local File) e individuare la posizione del file OVA scaricato.

  3. Fare clic su AVANTI in basso a destra. Viene visualizzata una serie di riquadri di configurazione.

  4. Verifica dell'origine: fare clic su .

    Screenshot dell'installazione di Harbor

  5. Nome macchina virtuale: Immettere il nome scelto per la macchina virtuale che esegue l'istanza di Harbor. Fare clic su Avanti.

    Screenshot dell'installazione di Harbor

  6. Selezionare una risorsa di elaborazione: lasciare l'opzione predefinita e fare clic su AVANTI.

    Screenshot dell'installazione di Harbor

    Questo passaggio può richiedere alcuni minuti, perché vSphere scarica il modello OVF e ne esegue il rendering.

  7. Controlla i dettagli: Fare clic su Avanti.

    Screenshot dell'installazione di Harbor

  8. Contratti di licenza: accettare la licenza e fare clic su AVANTI.

    Screenshot dell'installazione di Harbor

  9. Seleziona storage: selezionare vsanDatastore e fare clic su AVANTI.

    Screenshot dell'installazione di Harbor

  10. Seleziona reti: scegliere la Rete macchina virtuale predefinita e fare clic su AVANTI.

    Screenshot dell'installazione di Harbor

  11. Personalizza credenziali modello (Customize template) > Credenziali macchina virtuale (VM Credentials):

    Screenshot dell'installazione di Harbor

    1. Password root (obbligatoria): La password preferita per l'account utente root nella macchina virtuale e deve essere lunga 8-128 caratteri.

    2. Consenti SSH tramite root: lasciare abilitata l'opzione predefinita per consentire l'accesso ssh alla macchina virtuale come utente root.

  12. Personalizza modello (Customize template) > Configurazioni Harbor (Harbor Configurations):

    Screenshot dell'installazione di Harbor

    1. Nome host (Hostname) (facoltativo): Se specificato, il nome host Harbor come FQDN, ad esempio yourdomain.com. Non può essere un indirizzo IP o localhost.

      Se si specifica Nome host (Hostname) la proprietà SAN (Subject Alt Names) contiene solo le informazioni DNS; non vengono fornite informazioni sull'IP.

      Se non si specifica Nome host (Hostname), la proprietà SAN contiene solo le informazioni IP; non vengono fornite informazioni DNS.

    2. Password amministratore (obbligatoria): password per l'utente admin di Harbor. Utilizzata dagli amministratori per accedere all'interfaccia utente di Harbor e dai container client per eseguire il pull e il push delle immagini. Può includere da 8 a 128 caratteri.

    3. Password database Harbor: password del database interno di Harbor. Se specificata, dovrebbe includere da 8 a 128 caratteri.

    4. Abilita scanner predefinito di Harbor: abilitare questa opzione per installare lo scanner Trivy e attivarlo per eseguire la scansione delle immagini quando vengono caricate in Harbor.

    5. Usa certificato autofirmato per Harbor:

      • Abilitare questa opzione per utilizzare certificati autofirmati e lasciare vuoti i campi Certificato CA, Certificato server e Chiave server.

      • Altrimenti, disattivare Usa certificato autofirmato per Harbor e incollare i contenuti dei file a più righe per Certificato CA, Certificato server e Chiave server. Quando vengono incollati nel modulo, i valori di più righe diventano una stringa di una riga con il carattere spazio come delimitatore.

  13. Personalizza modello (Customize template) > Configurazioni di rete (Networking Configurations):

    Screenshot dell'installazione di Harbor

    1. Indirizzo IP, Netmask e Gateway: indirizzo IP statico, netmask e gateway per eth0, se disponibile.

    2. DNS, Dominio DNS: server e dominio DNS per la macchina virtuale Harbor.

  14. (Facoltativo) Personalizza modello (Customize Template) > Configurazioni Docker (Docker Configurations):

    Screenshot dell'installazione di Harbor

    Questa configurazione è facoltativa e disponibile solo per OVA con Harbor v2.8.x o versioni successive.

    1. Valore BIP daemon Docker: Valore del formato CIDR per configurare il daemon Docker, ad esempio: 198.18.251.1/24

    2. Base del pool di indirizzi 1, Dimensioni del pool di indirizzi 1: La base e le dimensioni del pool di indirizzi devono essere configurate a coppie, se presenti. È possibile consentire al massimo tre coppie di base e di dimensioni del pool di indirizzi. Inoltre, la base del pool di indirizzi deve essere in formato CIDR, ad esempio 198.18.252.0/22; e le dimensioni del pool di indirizzi devono essere un numero intero compreso tra 1 e 32.

  15. Pronto per il completamento: rivedere la configurazione e fare clic su FINE.

    Screenshot dell'installazione di Harbor

Osservazione e debug della distribuzione

Distribuzione Docker (facoltativa)

Per i file OVA con Harbor v2.8.x o versioni successive, è possibile impostare facoltativamente una configurazione del daemon Docker da eseguire nell'OVA, come configurato nella scheda Configurazioni Docker (Docker Configurations) descritta in precedenza.

Se si immettono argomenti non validi in Configurazioni Docker (Docker Configurations), sia il servizio firstboot systemd sia Docker non riusciranno.

Per verificare l'installazione di Docker, eseguire ssh nella macchina virtuale Harbor ed eseguire systemctl status firstboot e systemctl status docker. Se lo stato di servizio di firstboot è elencato come Active: failed la distribuzione non è riuscita, ma se vengono visualizzati Active: inactive (dead) e firstboot.service: Succeeded e il servizio docker viene elencato come Active: active (running), la distribuzione è stata completata correttamente.

Per controllare i registri per ulteriori dettagli, eseguire journalctl -u firstboot e journalctl -u docker.

Distribuzione di Harbor:

La prima volta che si distribuisce un file OVA di Harbor, Harbor impiega alcuni minuti per caricare le immagini del Docker.

Per osservare il processo e verificare che sia in corso, accedere tramite ssh alla macchina virtuale ed eseguire:

watch docker ps

Se dopo 5 minuti circa Harbor non è ancora in esecuzione, recuperare il file del registro nella macchina virtuale per il debug:

  1. cd /etc/goharbor/harbor && ./harbor-support.sh --include-private

  2. Individuare e decomprimere il file di registro. Ha un nome come /storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz

Risoluzione dei problemi

Errore: Impossibile recuperare il file manifesto o del certificato

  1. Se viene visualizzato il messaggio Error: Unable to retrieve manifest or certificate file come indicato di seguito, provare a distribuire nuovamente il file OVA di Harbor.

    Screenshot dell'installazione di Harbor

Nessun supporto per la cache del proxy Harbor

Non è possibile utilizzare la funzionalità della cache del proxy Harbor per l'esecuzione di Tanzu Kubernetes Grid v2.4 in un ambiente con limitazioni Internet. È comunque possibile utilizzare la cache del proxy Harbor per il proxy delle immagini delle versioni precedenti di Tanzu Kubernetes Grid e delle immagini non Tanzu come le immagini delle applicazioni.

Reimpostazione della password root

Se la password root è stata persa, ripristinarla seguendo la procedura Reimpostazione di una password root persa.

Espandere disco dati

Un'istanza di Harbor distribuita da un OVA ha due dischi:

  • Disco dati: contiene i dati dell'applicazione Harbor e i file dei certificati; montato come /storage.
  • Disco di sistema: contiene i dati di sistema della macchina virtuale e le immagini di bootstrap Harbor ed esegue le immagini di bootstrap.

Se è necessario aumentare le dimensioni del disco dati di Harbor per soddisfare le richieste, è necessario spegnere temporaneamente la macchina virtuale Harbor mentre si modificano le impostazioni. Se la macchina virtuale ha un indirizzo IP dinamico, il riavvio della macchina virtuale richiede passaggi aggiuntivi, come descritto di seguito.

Per espandere il disco dati dell'istanza di Harbor:

  1. Nella visualizzazione di vSphere Host e cluster (Hosts and Clusters), fare clic con il pulsante destro della macchina virtuale Harbor OVA e scegliere Alimentazione (Power) > Spegnimento (Power Off):

    Screenshot dell'installazione di Harbor

  2. Fare di nuovo clic con il pulsante destro del mouse sulla macchina virtuale Harbor OVA e scegliere Modifica impostazioni (Edit Settings):

    Screenshot dell'installazione di Harbor

  3. Appare una finestra Modifica impostazioni (Edit Settings). In Hardware virtuale (Virtual Hardware) aumentare l'impostazione Hard disk 2 impostando la capacità desiderata. Fare clic su OK.

    Screenshot dell'installazione di Harbor

  4. Fare di nuovo clic con il pulsante destro del mouse sulla macchina virtuale OVA Harbor e scegliere Alimentazione (Power) > Accensione (Power On) per riavviare la macchina virtuale.

    Screenshot dell'installazione di Harbor

  5. Poiché è stata riavviata la macchina virtuale Harbor, potrebbe essere necessario eseguire passaggi aggiuntivi in base alla configurazione dell'indirizzo host della macchina virtuale:

  6. Indirizzo IP statico: Nessun passaggio aggiuntivo.

  7. Indirizzo IP dinamico: Se l'indirizzo IP della macchina virtuale Harbor è cambiato:

    1. Generare un certificato per il nuovo indirizzo IP come descritto nel thread Come modificare il certificato harbor CA scaduto esistente con uno nuovo nel repository di Harbor.
    2. Applicare il nuovo certificato alla macchina virtuale come descritto in Rotazione dei certificati.
  8. FQDN: Se l'indirizzo IP della macchina virtuale Harbor è cambiato, aggiornarne l'indirizzo nel file /etc/hosts della macchina virtuale o nel record DNS.

Ruotare i certificati

Quando l'indirizzo IP della macchina virtuale Harbor viene modificato, ruotare il certificato:

  1. ssh alla macchina virtuale.

  2. Arrestare il servizio Harbor:

    systemctl stop harbor
    
  3. Eseguire il backup dei file server.crt e server.key, ca.crt del certificato precedente spostandoli o rinominandoli:

    • server.crt si trova in /storage/data/secret/cert/server.crt
    • server.key si trova in /storage/data/secret/cert/server.key
    • ca.crt si trova in /storage/data/ca_download/ca.crt
  4. Salvare i file server.crt, server.key ca.crt del nuovo certificato nelle posizioni indicate sopra e impostare la proprietà e le autorizzazioni dei file sulle stesse impostazioni dei vecchi file.

  5. Avviare il servizio Harbor:

    systemctl start harbor
    

Passaggi successivi

Dopo aver utilizzato questo registro di Harbor per distribuire un cluster di gestione in un ambiente con limitazioni Internet, è possibile abilitare i cluster del carico di lavoro TKG per l'utilizzo di Harbor in uno dei due modi seguenti:

  • Utilizzare il registro di Harbor esterno. Se questo registro utilizza un certificato CA attendibile, le connessioni tra i cluster del carico di lavoro e il registro sono sicure. Se il registro centrale utilizza certificati autofirmati, è possibile disattivare TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY e specificare l'opzione TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE. Se si imposta questa opzione, i certificati autofirmati vengono inseriti automaticamente nei cluster del carico di lavoro.

  • Distribuire una seconda istanza di Harbor come servizio condiviso in TKG. VMware consiglia di distribuire il pacchetto di Harbor come servizio condiviso gestito da TKG. Per ulteriori informazioni, vedere Installazione di Harbor per il registro del servizio.

Nelle infrastrutture con bilanciamento del carico, VMware consiglia di installare il servizio DNS esterno in pacchetto insieme al servizio Harbor, come descritto in Registro di Harbor e DNS esterno.

check-circle-line exclamation-circle-line close-line
Scroll to top icon