Perché il mio errore di build è dovuto all'autenticazione di pull dell'immagine?

Cloud privato virtuale Infrastruttura classica

Quando una build come ad esempio da Operator Hub oppure un catalogo di contenuto dello sviluppatore integrato prova ad eseguire il pull di un'immagine da un registro Red Hat, la build potrebbe non riuscire con un errore di autenticazione simile al seguente:

error: build error: After retrying 2 times, Pull image still failed due to error: unauthorized: authentication required

Per impostazione predefinita, il tuo cluster è configurato con i segreti di pull di immagine ai registri Red Hat come registry.redhat.io, registry.connect.redhat.com e cloud.openshift.com. Inoltre, nel progetto default, il tuo cluster dispone di secret per il pull delle immagini che consentono di accedere ai registri <region>.icr.io per IBM Cloud Container Registry.

Tuttavia, se un operatore o un template integrato hanno un componente di build che deve eseguire il pull di un'immagine da un registro privato, la build potrebbe non riuscire con un errore di autenticazione perché la build non dispone dell'accesso ai segreti di pull dell'immagine predefiniti nel suo account del servizio. Per impostazione predefinita, le build possono eseguire il pull di immagini archiviate solo nel registro interno.

Configura la build con l'accesso all'immagine, eseguendo il pull dell'immagine dal registro privato o importando l'immagine dal registro privato nel registro interno.

Per ulteriori informazioni, vedi la documentazione diRed Hat OpenShift.

  1. Controlla il file di configurazione della build per appurare qual è il registro per cui la build ha bisogno dell'accesso di pull. Ad esempio, se la tua build fa parte di un modello Red Hat OpenShift, il valore " spec.strategy.sourceStrategy.from.name " della configurazione della build fa riferimento al registro privato registry.redhat.io.

    oc -n openshift get template react-web-app-example -o yaml
    

    Output di esempio

    strategy:
      sourceStrategy:
        from:
          kind: DockerImage
          name: registry.redhat.io/rhoar-nodejs-tech-preview/rhoar-nodejs-10-webapp
    
  2. Configura la build con l'accesso di pull dell'immagine. Puoi scegliere dall'esecuzione del pull dell'immagine dal registro privato o l'utilizzo di un flusso di immagini dal registro interno.