¿Por qué obtengo un error de compilación debido a la autenticación de extracción de imagen?

[Nube privada virtual] {: tag-vpc} Infraestructura clásica

Cuando una compilación como el OperatorHub o el catálogo de contenido del desarrollador incorporado intenta extraer una imagen de un registro de Red Hat, la compilación puede fallar con un error de autenticación parecido al siguiente.

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

De forma predeterminada, el clúster está configurado con secretos de extracción de imágenes para registros de Red Hat, como por ejemplo registry.redhat.io, registry.connect.redhat.com y cloud.openshift.com. Asimismo, en el proyecto default, el clúster tiene secretos de extracción de imágenes para acceder a los registros de <region>.icr.io para IBM Cloud Container Registry.

Sin embargo, si un operador o plantilla incorporada tiene un componente de compilación que debe extraer una imagen de un registro privado, la compilación puede fallar con un error de autenticación porque la compilación no tiene acceso a los secretos de extracción de imágenes predeterminados en su cuenta de servicio. De forma predeterminada, las compilaciones pueden extraer imágenes que están almacenadas solo en el registro interno.

Configure la compilación con acceso a la imagen, ya sea extrayendo la imagen del registro privado o importando la imagen del registro privado en el registro interno.

Para obtener más información, consulte la documentación deRed Hat OpenShift.

  1. Revise el archivo de configuración de la compilación para ver a qué registro necesita acceder la compilación. Por ejemplo, si tu compilación forma parte de una plantilla de Red Hat OpenShift, el valor « spec.strategy.sourceStrategy.from.name » de la configuración de la compilación hace referencia al registro privado registry.redhat.io.

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

    Salida de ejemplo

    strategy:
      sourceStrategy:
        from:
          kind: DockerImage
          name: registry.redhat.io/rhoar-nodejs-tech-preview/rhoar-nodejs-10-webapp
    
  2. Configure la compilación con el acceso de extracción de imágenes. Puede elegir desde la extracción de la imagen del registro privado o la utilización de una secuencia de imágenes de un registro interno.