es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cloud Run despliegue vía YAML indica “Imagen no encontrada”.

Tengo dos archivos YAML de Cloud Run Knative para el entorno de preparación y producción. Tengo dos proyectos de GCP para el entorno de preparación y producción y dos conjuntos de Artifact Registry.

Utilizo la construcción simple de archivos zip de la siguiente manera:

gcloud builds submit --tag us-east1-docker.pkg.dev/proj-a/repo-x/image-y:1.0

Luego edito el archivo yaml para ajustar la etiqueta al final y luego vuelvo a implementarlo con:

gcloud run services replace staging.yaml

Todo esto funcionaba el otro día y mis sitios de preparación y producción estaban en funcionamiento. También funcionó correctamente para mi proyecto de producción hace un momento.

Acabo de cambiar de proyecto utilizando gcloud config set core/project proj-b y luego ejecuté nuevamente estos dos comandos, haciendo los ajustes necesarios.

El primer comando tuvo éxito; la imagen fue construida y puedo verla en Artifact Registry.

Pero el segundo comando falló con el siguiente mensaje:

Aplicando nueva configuración al servicio Cloud Run [cloud-run-z] en el proyecto [01234567890] y región [us-east1]

X Desplegando… Imagen ‘us-east1-docker.pkg.dev/proj-a/repo-x/image-y:1.0’ no encontrada.

X Creando revisión… Imagen ‘us-east1-docker.pkg.dev/proj-a/repo-x/image-y:1.0’ no encontrada.

. Enrutando el tráfico…

Fallo en la implementación

ERROR: (gcloud.run.services.replace) Imagen ‘us-east1-docker.pkg.dev/proj-a/repo-x/image-y:1.0’ no encontrada.

Puedo ver la imagen, he pegado su URL tal como está escrita en la consola en mi archivo yaml para asegurarme, y esto funcionaba el otro día.

¿Por qué Cloud Run no puede ver la imagen que yo puedo ver?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con los permisos. Al cambiar a un proyecto de GCP diferente, es posible que el usuario actualmente autenticado no tenga los permisos necesarios para acceder a las imágenes almacenadas en Artifact Registry.

    Para resolver este problema, debes asegurarte de que el usuario que ejecuta los comandos tenga los permisos necesarios para acceder a las imágenes de Artifact Registry en ambos proyectos. Esto se puede hacer otorgando los permisos adecuados al rol de IAM del usuario en cada proyecto.

    Puedes verificar que el usuario tenga acceso a las imágenes revisando los permisos de IAM para los repositorios relevantes de Artifact Registry en cada proyecto. También puedes intentar cerrar sesión y volver a iniciar sesión para asegurarte de que los tokens de autenticación del usuario estén actualizados.

Comments are closed.