Configura Docker in modo che consideri attendibile la CA radice di Harbor

Le istanze Harbor utilizzano i certificati Transport Layer Security (TLS) emessi dall'autorità di certificazione (CA) radice attendibile della tua organizzazione. In questo modo, la connessione tra il client Docker e il registry Harbor viene criptata per proteggere le immagini da accessi non autorizzati.

Questa pagina descrive come configurare il client Docker sulla tua workstation per considerare attendibile la CA root di Harbor. Non è necessario configurare l'attendibilità sui nodi dei cluster Kubernetes, perché GDC configura automaticamente i nodi del cluster in modo che considerino attendibili le istanze del registry Harbor. Per saperne di più, consulta Attendibilità dei nodi del cluster per le istanze del registry Harbor.

Prima di iniziare

Devi eseguire questi passaggi prima di gestire le immagini container:

  1. Se non l'hai ancora fatto, installa Docker seguendo le istruzioni riportate all'indirizzo https://docs.docker.com/engine/install/ubuntu/. Docker è incluso in Cloud Shell.
  2. Docker richiede l'accesso con privilegi per interagire con i registry. 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.

    1. Per Linux, aggiungi l'utente:

        sudo usermod -a -G docker USER
      
    2. Per Windows:

        net localgroup docker-users DOMAIN\Upan>SER /add
      

      Sostituisci USER con il nome utente che vuoi aggiungere.

Configura Docker in modo che consideri attendibile la CA root di Harbor

Devi configurare il client Docker locale in modo che consideri attendibile la CA radice della tua organizzazione quando utilizzi il client Docker per comunicare con l'istanza Harbor.

Per configurare il client Docker in modo che consideri attendibile la CA root, richiedi il file .crt della CA root all'amministratore dell'organizzazione e copia la CA root dell'organizzazione in:

/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt

Sostituisci HARBOR_INSTANCE_URL con l'URL della tua 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 gdcloud 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 saperne di più, consulta Recupera 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 della tua 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, assegna il problema al team di engineering di GDC.

Se i pod di un cluster Kubernetes mostrano un errore x509: certificate signed by unknown authority quando eseguono il pull delle immagini da un'istanza del registry Harbor, consulta Risolvi gli errori dei certificati durante il pull delle immagini.

Passaggi successivi

Dopo aver configurato il client Docker in modo che consideri attendibile la CA root di Harbor, completa la configurazione della connessione per iniziare a utilizzare il registry: