Implementa en Cloud Run

Puedes implementar una imagen alojada en Artifact Registry en Cloud Run.

Permisos necesarios para realizar una implementación

Para implementar en Cloud Run, debes tener la función de propietario o editor, o las funciones de administrador de Cloud Run y usuario de cuenta de servicio, o cualquier función personalizada que incluya estolista específica de permisos ,

De forma predeterminada, Cloud Run usa la cuenta de servicio de Compute Engine como la identidad para las revisiones. Esta cuenta de servicio predeterminada tiene acceso de solo lectura a los repositorios de Artifact Registry en el mismo proyecto de Google Cloud. Si tus repositorios están en un proyecto diferente o si usas una cuenta de servicio administrada por el usuario como identidad para tus revisiones, debes otorgar permisos de lector de Artifact Registry a la cuenta de servicio del entorno de ejecución. ,

Implementa desde la fuente local

En los lenguajes compatibles, Cloud Run puede realizar las siguientes acciones automáticamente:

  1. Organiza el código fuente local en contenedores.
  2. Envía la imagen del contenedor a un repositorio de Artifact Registry.
  3. Implementa la imagen de contenedor de Cloud Run desde el repositorio.

Cloud Run envía y extrae imágenes mediante el repositorio cloud-run-source-deploy en la región que especifiques en el momento de la implementación. Si el repositorio no existe, Cloud Run lo crea por ti si tu cuenta tiene los permisos necesarios.

Para obtener más detalles, consulta Implementa desde el código fuente. También puedes probar las guías de inicio rápido de Cloud Run para los lenguajes que admiten la implementación desde el código fuente.

Implementa imágenes de contenedor

Implementa una imagen por etiqueta o resumen que se almacena en Artifact Registry.

Cuando implementas en un servicio por primera vez, se crea su primera revisión. Ten en cuenta que las revisiones son inmutables. Si implementas desde una etiqueta de imagen de contenedor, se resolverá en un resumen y la revisión siempre entregará este resumen en particular.

Puedes implementar un contenedor mediante Cloud Console o la línea de comandos de gcloud.

Console

Para implementar una imagen de contenedor, sigue estos pasos:

  1. Ir a Cloud Run

  2. Haz clic en Crear servicio para mostrar la página Create service (Crear servicio).

  3. En Plataforma de implementación, haz lo siguiente:

    1. Selecciona Cloud Run como la plataforma de implementación.

    2. Selecciona la región en la que quieres que se ubique el servicio.

    3. Ingresa el nombre del servicio. Los nombres de servicio deben ser únicos por región y proyecto o por clúster. Un nombre de servicio no se puede cambiar más adelante y es visible de forma pública cuando se usa Cloud Run.

  4. En Authentication (Autenticación), haz lo siguiente:

    • Si creas una API o un sitio web públicos, selecciona Permitir invocaciones no autenticadas. Si seleccionas esta opción, se asigna la función de invocador de IAM al identificador especial allUser. Puedes usar IAM para editar esta configuración más adelante una vez que hayas creado el servicio.
    • Si quieres tener un servicio seguro protegido por autenticación, selecciona Solicitar autenticación.
  5. Haz clic en Siguiente para ir a la segunda página del formulario de creación de servicios:

  6. En el cuadro de texto Container image URL (URL de la imagen de contenedor), proporciona la URL de una imagen, por ejemplo, us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest

  7. De manera opcional, haz clic en Show Advanced Settings y en las siguientes pestañas para establecer lo siguiente:

  8. Haz clic en Crear para implementar la imagen en Cloud Run y espera a que termine la implementación.

  9. Haz clic en el vínculo de la URL que se muestra para abrir el extremo del servicio implementado.

Línea de comandos

Para implementar una imagen de contenedor, sigue estos pasos:

  1. Ejecuta el siguiente comando.

    gcloud run deploy SERVICE --image REPO-LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE \
    [--platform managed --region RUN-REGION]
    

    Donde

    • REPO-LOCATION es la ubicación del repositorio. Por ejemplo, us-central1.
    • SERVICE es el nombre del servicio en el que deseas realizar la implementación. Si aún no existe, con este comando se crea el servicio durante la implementación. Puedes omitir este parámetro por completo, pero se te solicitará el nombre del servicio si lo haces.
    • PROJECT-ID es el ID del proyecto de Google Cloud.
    • REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
    • IMAGE es el nombre de la imagen, por ejemplo, us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest.
    • RUN-REGION es la ubicación de Cloud Run para la implementación. Si estableces una ubicación predeterminada de Cloud Run con la propiedad gcloud run/region establecida, puedes omitir --platform managed -region RUN-REGION].

    Si creas una API o un sitio web públicos, puedes permitir las invocaciones sin autenticación de tu servicio mediante la marca --allow- unauthenticated. Así asignas la función de IAM de invocador de Cloud Run a allUsers. También puedes especificar --no-allow-unauthenticated para prohibir invocaciones no autenticadas. Si omites cualquiera de estas marcas, se te solicitará que confirmes cuando se ejecute el comando deploy.

  2. Espera a que finalice la implementación. Una vez que la compilación se completa de manera correcta, se muestra un mensaje de éxito, además de la URL del servicio implementado.