Por que ocorre um erro em minha construção devido à autenticação de extração de imagem?

Nuvem privada virtual Infraestrutura clássica

Quando uma construção, como do Operator Hub ou do catálogo de conteúdo do desenvolvedor integrado, tenta extrair uma imagem de um registro do Red Hat, a construção pode falhar com um erro de autenticação semelhante ao seguinte.

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

Por padrão, seu cluster é configurado com segredos de extração de imagem para registros do Red Hat, como registry.redhat.io, registry.connect.redhat.com e cloud.openshift.com. Além disso, no projeto default, seu cluster tem segredos de extração de imagem para acessar os registros <region>.icr.io para o IBM Cloud Container Registry.

No entanto, se um operador ou um modelo integrado tiver um componente de construção que deva fazer extração de uma imagem de um registro privado, a construção poderá falhar com um erro de autenticação porque a construção não terá acesso aos segredos de extração de imagem padrão em sua conta do serviço. Por padrão, as construções podem extrair imagens que são armazenadas somente no registro interno.

Configure a construção com acesso à imagem, extraindo a imagem do registro privado ou importando a imagem do registro privado para o registro interno.

Para obter mais informações, consulte o Red Hat OpenShift documentação.

  1. Verifique o arquivo de configuração de construção para ver a qual registro a construção precisa de acesso de extração. Por exemplo, se sua compilação fizer parte de um modelo do Red Hat OpenShift, o valor spec.strategy.sourceStrategy.from.name na configuração da compilação se refere ao registro privado registry.redhat.io.

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

    Saída de exemplo

    strategy:
      sourceStrategy:
        from:
          kind: DockerImage
          name: registry.redhat.io/rhoar-nodejs-tech-preview/rhoar-nodejs-10-webapp
    
  2. Configure a construção com acesso de extração de imagem. É possível escolher entre extrair a imagem do registro privado ou usar um fluxo de imagem do registro interno.