Le istanze Harbor utilizzano i certificati Transport Layer Security (TLS) emessi dalla CA radice attendibile della tua organizzazione. In questo modo viene criptata la connessione tra il client Docker e il registro Harbor per proteggere le immagini da accessi non autorizzati.
Prima di iniziare
Devi eseguire questi passaggi prima di gestire le immagini dei container:
- Installa Docker se non è già installato seguendo le istruzioni disponibili all'indirizzo https://docs.docker.com/engine/install/ubuntu/. Docker è incluso in Cloud Shell.
Docker richiede l'accesso con privilegi per interagire con i registri. Su Linux o Windows, aggiungi l'utente che utilizzi per eseguire i comandi Docker al gruppo di sicurezza Docker. Questo passaggio non è necessario su macOS, poiché Docker Desktop viene eseguito su una macchina virtuale come utente root.
Per Linux, aggiungi l'utente:
sudo usermod -a -G docker USER
Per Windows:
net localgroup docker-users DOMAIN\USER /add
Sostituisci
USER
con il nome utente che vuoi aggiungere.
Configura Docker in modo che consideri attendibile la CA radice di Harbor
Devi configurare il client Docker locale in modo che consideri attendibile la CA radice della tua organizzazione quando lo utilizzi per comunicare con l'istanza Harbor.
Per configurare il client Docker in modo che consideri attendibile la CA radice, richiedi il file .crt
della CA radice all'amministratore dell'organizzazione e copia la CA radice dell'organizzazione in:
/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt
Sostituisci HARBOR_INSTANCE_URL
con l'URL dell'istanza Harbor. Ad esempio, harbor-1.org-1.zone1.google.gdc.test
.
Questo comando consente al client Docker di stabilire una connessione HTTPS con l'istanza Harbor.
In alternativa, utilizza l'interfaccia a riga di comando gcloud per accedere all'organizzazione, generare e utilizzare il file kubeconfig per il server API di gestione e copiare il bundle di attendibilità nel cluster. Per ulteriori informazioni, vedi Recuperare i bundle di attendibilità GDC.
export REGISTRY=HARBOR_INSTANCE_URL
mkdir -p /etc/docker/certs.d/${REGISTRY} && echo $(kubectl get secret trust-store-global-root-ext -n platform -o
jsonpath='{.data.ca\.crt}') | openssl base64 -A -d >
/etc/docker/certs.d/${REGISTRY}/ca.crt
Sostituisci HARBOR_INSTANCE_URL
con l'URL dell'istanza Harbor. Ad esempio, harbor-1.org-1.zone1.google.gdc.test
.
Se la configurazione non va a buon fine, viene visualizzato il seguente messaggio di errore:
Error response from daemon: Get "https://<HARBOR_INSTANCE_URL>": x509: certificate signed by unknown authority
Ripeti i passaggi per risolvere il problema e, se necessario, riassegna la richiesta al team di ingegneria di GDC.