En esta página, se describe cómo implementar y modificar una función de Cloud Run. Para ver una explicación de ejemplo de cómo implementar una función de Hello World, consulta Implementa una función de muestra.
Las implementaciones de funciones de Cloud Run utilizan automáticamente los buildpacks de Google Cloud y Cloud Build para crear imágenes de contenedor a partir del código fuente de la función. No necesitas instalar Docker en tu máquina ni configurar buildpacks o Cloud Build.
Las implementaciones de Cloud Run Functions también usan Artifact Registry para almacenar artefactos y administrar imágenes de contenedores. Artifact Registry crea automáticamente el repositorio de Artifact Registry llamado cloud-run-source-deploy, si su proyecto aún no ha creado uno con ese nombre.
Si tienes funciones existentes y necesitas usar el comando gcloud functions deploy, la API de Cloud Functions v2 o la configuración de google_cloudfunctions2_function de Terraform para la retrocompatibilidad, consulta Implementa funciones con el comando gcloud functions deploy.
Antes de comenzar
Asegúrate de haber configurado un proyecto nuevo para Cloud Run, como se describe en la página de configuración.
Habilita las APIs de Artifact Registry, Cloud Build, Cloud Run Admin y Cloud Logging:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ run.googleapis.com \ logging.googleapis.comDe manera opcional, habilita la API de Eventarc para usar activadores de eventos:
gcloud services enable eventarc.googleapis.comSi estás bajo una política de la organización de restricción de dominios que restringe las invocaciones no autenticadas para tu proyecto, deberás acceder al servicio implementado como se describe en Prueba servicios privados.
Roles obligatorios
Para implementar Cloud Run Functions, tú o tu administrador deben otorgar los siguientes roles de IAM a la cuenta del implementador y a la cuenta de servicio:
Haz clic para ver los roles necesarios para la cuenta del implementador.
Para obtener los permisos que necesitas para compilar e implementar desde la fuente, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Desarrollador de origen de Cloud Run (
roles/run.sourceDeveloper) en tu proyecto - Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer) en tu proyecto - Usuario de cuenta de servicio (
roles/iam.serviceAccountUser) en la identidad del servicio Cloud Run
Haz clic para ver los roles necesarios para la cuenta de servicio de Cloud Build
Cloud Build utiliza automáticamente elCuenta de servicio predeterminada de Compute Engine como la cuenta de servicio de Cloud Build predeterminada para compilar su código fuente y recurso de Cloud Run, a menos que usted anule este comportamiento. Para que Cloud Build compile tus fuentes, pídele a tu administrador que otorgue Cloud Run Builder (roles/run.builder) a la cuenta de servicio predeterminada de Compute Engine en tu proyecto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Reemplaza PROJECT_NUMBER por el número de tu proyecto Google Cloudy PROJECT_ID por el ID del proyecto Google Cloud. Para obtener instrucciones detalladas sobre cómo encontrar su ID del proyecto y número de proyecto, consulte Creación y gestión de proyectos.
El otorgamiento del rol de compilador de Cloud Run a la cuenta de servicio predeterminada de Compute Engine tarda un par de minutos en propagarse.
Haz clic para ver los roles necesarios para la cuenta de servicio si utilizas Eventarc.
De manera opcional, si usas Eventarc, otorga los siguientes roles a tu cuenta de servicio:
- Editor de Cloud Build (
roles/cloudbuild.builds.editor) - Administrador de Cloud Run (
roles/run.admin) - Crea cuentas de servicio (
roles/iam.serviceAccountCreator) - Cloud Run Invoker (
roles/run.invoker) - Administrador de Eventarc (
roles/eventarc.admin) - Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin) - Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer) - Administrador de almacenamiento (
roles/storage.admin)
Para obtener más información sobre cómo otorgar roles específicos para tus activadores de Eventarc, consulta Roles y permisos para destinos de Cloud Run.
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si su servicio Cloud Run interactúa conGoogle Cloud API, como las bibliotecas de cliente de Cloud, consulte la guía de configuración de identidad de servicio. Para obtener más información sobre cómo otorgar roles, consulta los permisos de implementación y cómo administrar el acceso.
Crea e implementa una función
Puedes implementar una Cloud Run function con la Google Cloud consola o la gcloud CLI. Haz clic en la pestaña para obtener instrucciones sobre cómo usar la herramienta que elijas.
Console
En la consola de Google Cloud , ve a la página Servicios de Cloud Run:
Haz clic en Escribe una función.
En el campo Nombre del servicio, ingresa un nombre para describir tu función. Los nombres de servicios solo deben comenzar con una letra y contener hasta 49 caracteres o menos, incluidas letras, números o guiones. Los nombres de los servicios no pueden terminar con guiones y deben ser únicos para cada región y proyecto. Un nombre de servicio no se puede cambiar más adelante y es visible de forma pública.
En la lista Región, usa el valor predeterminado o selecciona la región en la que quieres implementar la función.
En la lista Entorno de ejecución, usa el valor predeterminado o selecciona una versión de entorno de ejecución.
De manera opcional, en la sección Activador, haz clic en Agregar activador y selecciona una opción. Se abrirá el panel Activador de Eventarc, en el que podrás modificar los siguientes detalles del activador:
En el campo Nombre del activador, introduzca un nombre para el activador o utilice el nombre predeterminado.
Seleccione un Tipo de activador de la lista para especificar uno de los siguientes tipos de activador:
Fuentes de Google para especificar activadores para Pub/Sub, Cloud Storage, Firestore y otros proveedores de eventos de Google
Personalizado para producir y consumir eventos desde el código de la aplicación. Sigue las instrucciones del panel Activador de Eventarc para crear un canal. Un canal es un recurso que se usa como una canalización para entregar eventos personalizados de los productores a los consumidores. Los eventos personalizados se publican en un canal, y un activador de Eventarc se suscribe a esos eventos.
Terceros para integrarte a proveedores externos a Google que ofrecen una fuente de Eventarc. Para obtener más información, consulta Eventos de terceros en Eventarc.
Selecciona un Proveedor de eventos de la lista para elegir un producto que proporcione el tipo de evento para activar tu función. Para obtener la lista de proveedores de eventos, consulta Proveedores y destinos de eventos.
Selecciona un Tipo de evento de la lista. La configuración del activador varía según el tipo de evento compatible. Para obtener más información, consulta Tipos de eventos.
En el campo Región, seleccione una ubicación para el activador de Eventarc. En general, la ubicación de un disparador de Eventarc debe coincidir con la ubicación del recurso Google Cloud que desea monitorear para detectar eventos. En la mayoría de los casos, también debes implementar tu función en la misma región. Consulte Understand Eventarc locations para obtener más detalles sobre las ubicaciones de los disparadores de Eventarc.
En el campo Cuenta de servicio, selecciona una cuenta de servicio. Los disparadores de Eventarc están vinculados a cuentas de servicio que se utilizan como identidad al invocar la función. La cuenta de servicio del activador de Eventarc debe tener permiso para invocar tu función. De forma predeterminada, Cloud Run usa la cuenta de servicio predeterminada de Compute Engine.
De manera opcional, especifica la ruta de URL del servicio a la que se enviará la solicitud entrante. Esta es la ruta de acceso relativa en el servicio de destino al que se deben enviar los eventos del activador. Por ejemplo,
/,/route,routeyroute/subroute.Una vez que haya completado los campos obligatorios, haga clic en Guardar activador.
En Autenticación, configura lo siguiente:
Si está creando una función HTTP pública, por ejemplo un webhook, seleccione Permitir acceso público. 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 no tienes permisos (rol de administrador de Cloud Run) para seleccionar esta opción, el servicio se implementará y requerirá autenticación.Si creas una función activada por eventos, selecciona Solicitar autenticación.
De manera opcional, actualiza los siguientes parámetros de configuración adicionales para tus funciones:
Configura Facturación según sea necesario.
En Ajuste de escala del servicio, si usas el ajuste de escala automático predeterminado de Cloud Run, puedes especificar las instancias mínimas de forma opcional. Si usas el ajuste de escala manual, especifica la cantidad de instancias para el servicio.
Establece la configuración de control de entrada según sea necesario.
Expande la sección Contenedores, volúmenes, Herramientas de redes y seguridad para establecer otros parámetros de configuración opcionales en las pestañas correspondientes:
Haz clic en Crear y espera a que Cloud Run cree el servicio con una revisión de marcador de posición.
La consola te redireccionará a la pestaña Fuente, en la que puedes ver el código fuente de tu función. Haz clic en Guardar y volver a implementar.
En la pestaña Fuente, puedes hacer clic de manera opcional en Mostrar carga útil para ver un ejemplo de carga útil de eventos entrantes.
Después de la implementación, haz clic en el botón Probar para probar la función creada.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Actualiza los componentes de
gclouda la versión más reciente:gcloud components update
Ejecuta el siguiente comando en el directorio que contiene el código de muestra:
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGIONReemplaza lo siguiente:
FUNCTION con el nombre de la función que está implementando. Puede omitir este parámetro por completo, pero se le solicitará que ingrese el nombre si lo omite.
FUNCTION_ENTRYPOINT con el punto de entrada a su función en su código fuente. Este es el código que ejecuta Cloud Run cuando se ejecuta tu función. El valor de esta marca debe ser un nombre de función o un nombre de clase completamente calificado que exista en tu código fuente.
BASE_IMAGE con el entorno de imagen base para su función, como
nodejs24,python314,go127,java25,dotnet10,ruby40ophp85. Para obtener más detalles sobre las imágenes base y los paquetes incluidos en cada imagen, consulta Imágenes base de los tiempos de ejecución.REGION con la región Google Clouden la que deseas implementar tu función. Por ejemplo,
europe-west1.
Opcional:
- Si creas una función de HTTP pública, por ejemplo, un webhook, especifica el parámetro
--allow-unauthenticated. Esta marca asigna el rol de invocador de IAM de Cloud Run al identificador especialallUser. Puedes usar IAM para editar esta configuración más adelante una vez que hayas creado el servicio. Si está creando una función activada por eventos o un servicio autenticado, puede omitir este indicador.
Opcionalmente, después de implementar su función, puede agregar activadores de Eventarc a la misma. Para agregar un activador, ejecute el siguiente comando:
gcloud eventarc triggers create EVENTARC_TRIGGER_NAME \
--location=EVENTARC_TRIGGER_LOCATION \
--destination-run-service=FUNCTION \
--destination-run-region=REGION \
--event-filters="type=EVENTARC_FILTER_TYPE" \
--event-filters="EVENTARC_EVENT_FILTER" \
--service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT
Reemplaza lo siguiente:
EVENTARC_TRIGGER_NAME con el nombre del disparador de Eventarc.
EVENTARC_TRIGGER_LOCATION por la ubicación del activador de Eventarc. En general, la ubicación de un activador de Eventarc debe coincidir con la ubicación del recurso de Google Cloud que deseas supervisar para detectar eventos. En la mayoría de los casos, también debes implementar tu función en la misma región. Consulta Información sobre las ubicaciones de Eventarc para obtener más detalles sobre las ubicaciones de activadores de Eventarc.
FUNCTION por el nombre de la función implementada.
REGION con la región de Cloud Run de la función.
EVENTARC_FILTER_TYPE con los filtros de eventos que supervisa el activador. Un evento que coincida con todos los filtros de
--event-filtersactivará llamadas a tu función. Cada activador debe tener un tipo de evento compatible con el formato--event-filters="type=EVENTARC_FILTER_TYPE". Este tipo de evento no se puede cambiar después de la creación. Para cambiarEVENT_FILTER_TYPE, crea un activador nuevo y borra el anterior. De manera opcional, puedes repetir la marca--event-filterscon un filtro compatible en el formatoATTRIBUTE=VALUEpara agregar más filtros.EVENTARC_TRIGGER_SERVICE_ACCOUNT con una cuenta de servicio. Los disparadores de Eventarc están vinculados a cuentas de servicio que se utilizan como identidad al invocar la función. La cuenta de servicio del activador de Eventarc debe tener permiso para invocar tu función. De forma predeterminada, Cloud Run usa la cuenta de servicio de procesamiento predeterminada.
Terraform
Para administrar funciones con Terraform, debes compilar el código de tu función en una imagen de contenedor y, luego, definir tu servicio de Cloud Run en una configuración de Terraform con el recurso google_cloud_run_v2_service del proveedor de Google Cloud Platform.
Siga las instrucciones para crear una función en scratch para crear una imagen de contenedor que sea compatible con actualizaciones de seguridad automáticas. Copie la ruta completa de la imagen del contenedor para la variable IMAGE_URL que se utilizará en el siguiente paso.
Crea un archivo
main.tfnuevo con este contenido:provider "google" { project = "PROJECT-ID" } resource "google_cloud_run_v2_service" "default" { name = "SERVICE" location = "REGION" client = "terraform" template { containers { name = "SERVICE" image = "IMAGE_URL" # Container image built from your function in the previous step. base_image_uri = "BASE_IMAGE" } } build_config{ function_target = "FUNCTION_TARGET" image_uri = "IMAGE_URL" base_image = "BASE_IMAGE" enable_automatic_updates = true } } resource "google_cloud_run_v2_service_iam_member" "noauth" { location = google_cloud_run_v2_service.default.location name = google_cloud_run_v2_service.default.name role = "roles/run.invoker" member = "allUsers" }Reemplaza lo siguiente:
- PROJECT-ID por el ID del proyecto Google Cloud .
- REGION por la región Google Cloud . Por ejemplo,
europe-west1. - SERVICE por el nombre del servicio de Cloud Run Los nombres de servicios deben tener 49 caracteres o menos, y deben ser únicos por región y proyecto.
- IMAGE_URL con una referencia a la imagen de contenedor que solo contiene la función compilada
- BASE_IMAGE con el entorno de imagen base para su función, como
nodejs24,python314,go127,java25,dotnet10,ruby40ophp85. Para obtener más detalles sobre las imágenes base y los paquetes incluidos en cada imagen, consulta Imágenes base de los tiempos de ejecución. - FUNCTION_TARGET con el nombre de la función que desea utilizar como punto de entrada.
Esta configuración permite el acceso público (el equivalente a
--allow-unauthenticated). Para que el servicio sea privado, quita la estrofagoogle_cloud_run_v2_service_iam_member.Inicializa Terraform mediante este comando:
terraform initAplica la configuración de Terraform:
terraform applyIngresa
yespara confirmar que deseas aplicar las acciones descritas.
Ubicaciones de Cloud Run
Cloud Run es regional, lo que significa que la infraestructura que ejecuta los servicios se ubica en una región específica, y Google la administra para que esté disponible de manera redundante en todas las zonas de esa región.
El cumplimiento de los requisitos de latencia, disponibilidad o durabilidad es el factor principal para seleccionar la región en la que se ejecutan los servicios de Cloud Run.
Por lo general, puedes seleccionar la región más cercana a tus usuarios, pero debes considerar la ubicación de los otros productos Google Cloud que usa tu servicio de Cloud Run.
Si usas Google Cloud productos en varias ubicaciones, la latencia y el costo del servicio pueden verse afectados.
Cloud Run está disponible en las siguientes regiones:
Sujetas a los Precios del nivel 1
asia-east1(Taiwán)asia-northeast1(Tokio)asia-northeast2(Osaka)asia-south1(Bombay, India)asia-southeast3(Bangkok)europe-north1(Finlandia)Bajo nivel de CO2
europe-north2(Estocolmo)Bajo nivel de CO2
europe-southwest1(Madrid)Bajo nivel de CO2
europe-west1(Bélgica)Bajo nivel de CO2
europe-west4(Países Bajos)Bajo nivel de CO2
europe-west8(Milán)Bajo nivel de CO2
europe-west9(París)Bajo nivel de CO2
me-west1(Tel Aviv)northamerica-south1(México)us-central1(Iowa)Bajo nivel de CO2
us-east1(Carolina del Sur)us-east4(Virginia del Norte)us-east5(Columbus)us-south1(Dallas)Bajo nivel de CO2
us-west1(Oregón)Bajo nivel de CO2
Sujetas a los Precios del nivel 2
africa-south1(Johannesburgo)asia-east2(Hong Kong)asia-northeast3(Seúl, Corea del Sur)asia-southeast1(Singapur)asia-southeast2(Yakarta)asia-south2Delhi (India)australia-southeast1(Sídney)australia-southeast2(Melbourne)europe-central2(Varsovia, Polonia)Bajo nivel de CO2
europe-west10(Berlín)europe-west12(Turín)Bajo nivel de CO2
europe-west2(Londres, Reino Unido)Bajo nivel de CO2
europe-west3(Fráncfort, Alemania)europe-west6(Zúrich, Suiza)Bajo CO2
me-central1(Doha)me-central2(Dammam)northamerica-northeast1(Montreal)Bajo nivel de CO2
northamerica-northeast2(Toronto)Bajo nivel de CO2
southamerica-east1(São Paulo, Brasil)Bajo nivel de CO2
southamerica-west1(Santiago, Chile)Bajo nivel de CO2
us-west2(Los Ángeles)Bajo nivel de CO2
us-west3(Salt Lake City)us-west4(Las Vegas)
Si ya creaste un servicio de Cloud Run, puedes ver la región en el panel de Cloud Run en la Google Cloud consola.
Habilita los reintentos de eventos
Eventarc usa Pub/Sub como su capa de transporte y tiene una política de reintentos predeterminada que podría no funcionar bien para tu función.
Después de crear un activador de Eventarc, te recomendamos que actualices la política de reintentos en Eventarc y que configures un tema de mensajes no entregados en Pub/Sub.
Cómo especificar un repositorio de imágenes
Las implementaciones de funciones de Cloud Run utilizan Artifact Registry para almacenar artefactos y administrar imágenes de contenedores. Artifact Registry crea automáticamente el repositorio de Artifact Registry REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy si su proyecto aún no ha creado uno con este nombre.
Para especificar un repositorio de Artifact Registry creado por el usuario, utilice el siguiente comando:
gcloud
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGION \ --image IMAGE_URL
Reemplaza lo siguiente:
FUNCTION con el nombre de la función que está implementando. Puedes omitir este parámetro por completo, pero se te solicitará el nombre si lo haces.
FUNCTION_ENTRYPOINT con el punto de entrada a su función en su código fuente. Este es el código que ejecuta Cloud Run cuando se ejecuta tu función. El valor de esta marca debe ser un nombre de función o un nombre de clase completamente calificado que exista en tu código fuente.
BASE_IMAGE con el entorno de imagen base para su función, como
nodejs24,python314,go127,java25,dotnet10,ruby40ophp85. Para obtener más detalles sobre las imágenes base y los paquetes incluidos en cada imagen, consulta Imágenes base de los tiempos de ejecución.REGION con la región Google Clouden la que deseas implementar tu función. Por ejemplo,
europe-west1.IMAGE_URL con una referencia a la ruta de acceso a la imagen usando el repositorio de imágenes de Artifact Registry que elijas, por ejemplo,
projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/FUNCTION. El nombre de la imagen debe coincidir con el nombre de la función que deseas crear. Si solo se proporciona la ruta de acceso del repositorio, la imagen se creará con el nombre de la función FUNCTION.
Al especificar un repositorio de Artifact Registry ubicado en un proyecto o región diferente, debe tener en cuenta lo siguiente:
Parámetros de configuración de IAM:
- Asegúrese de haber configurado los permisos de IAM para implementar imágenes desde other Google Cloud projects
- Además, asegúrate de que la cuenta de servicio de compilación tenga acceso autorizado para leer y escribir en REPOSITORY.
Parámetros de configuración de red:
- Asegúrese de que el destino REPOSITORY sea accesible desde la configuración actual del proyecto.
Configuraciones de los Controles del servicio de VPC:
- Asegúrate de que la cuenta de servicio de compilación pueda acceder al REPOSITORY de destino dentro del perímetro de VPC-SC.
Restricciones de residencia de datos:
- Ten en cuenta que especificar un REPOSITORY en una región diferente de la región en la que se encuentra tu función provocará la transferencia de datos entre regiones.
Modifica una función existente
Puedes modificar la configuración o el código de tu función:
Modificar la configuración
Para modificar parámetros de configuración, como opciones de facturación, memoria y conectividad VPC, siga las instrucciones en la pestaña correspondiente:
Console
En la consola de Google Cloud , ve a la página Servicios de Cloud Run:
Identifica el servicio que deseas actualizar en la lista de servicios y hazle clic para abrir los detalles.
Modifica la configuración en las pestañas correspondientes.
Haz clic en Ver diferencia y volver a implementar y, luego, en Implementar cambios para implementar los cambios.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Para actualizar una o más configuraciones de servicio, utilice el comando
gcloud run services update SERVICEcon los indicadores de línea de comandos de la configuración que desea actualizar. Reemplace SERVICE con el nombre del servicio.
Volver a implementar el código fuente nuevo
Puedes modificar la imagen base, el entorno de ejecución y el código fuente de tu función con la consola de Google Cloud o gcloud CLI.
Haz clic en la pestaña para obtener instrucciones de la herramienta que elijas.
Console
En la consola de Google Cloud , ve a la página Servicios de Cloud Run:
Ubica la función que deseas actualizar en la lista de Servicios y haz clic para abrir los detalles de esa función.
Navega a la pestaña Fuente y haz clic en Editar fuente.
Haz clic en Editar actualizaciones de seguridad y entorno de ejecución junto a Imagen base, selecciona un Entorno de ejecución o un Entorno diferente de la lista según sea necesario y haz clic en Guardar y volver a implementar.
Modifica el punto de entrada de la función según sea necesario.
En la sección Archivos, selecciona Agregar archivo para crear un archivo nuevo, Cambiar nombre del archivo para cambiar el nombre de un archivo o Borrar archivo para borrar un archivo.
En la sección Código, modifica el código fuente según sea necesario.
Haga clic en Guardar y volver a implementar y espere a que finalice la implementación.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Ejecuta el siguiente comando en el directorio que contiene el código fuente de la función:
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGIONReemplaza lo siguiente:
FUNCTION con el nombre de la función que desea modificar.
FUNCTION_ENTRYPOINT por el punto de entrada a tu función en tu código fuente.
BASE_IMAGE con el entorno de imagen base para su función, como
nodejs24,python314,go127,java25,dotnet10,ruby40ophp85.Alternativamente, si desea utilizar un paquete de sistema específico en la pila o especificar la región desde donde se descarga la imagen base, puede especificar una de las siguientes opciones:
- La ruta completa de la imagen base, como por ejemplo
us-central1-docker.pkg.dev/serverless-runtimes/google-24-full/runtimes/nodejs24. Esta opción te permite especificar la imagen base, un paquete del sistema específico en la pila y la región desde la que se descarga la imagen base. - Es el alias de la ruta de acceso completa a la imagen base, como
google-24/nodejs24ogoogle-24-full/nodejs24. Esta opción de alias más corta le permite especificar la imagen base y un paquete de sistema específico en la pila.
Para obtener más detalles sobre las imágenes base y los paquetes incluidos en cada imagen, consulta Imágenes base del entorno de ejecución.
- La ruta completa de la imagen base, como por ejemplo
REGION con la región Google Clouden la que deseas implementar tu función. Por ejemplo,
europe-west1.
Marcas opcionales
Al modificar su función, puede configurar las siguientes opciones:
Variables de entorno de compilación Indicadores para especificar variables de entorno durante el paso de compilación, como para configurar certificados o parámetros específicos del tiempo de compilación.
Son marcas de grupo de trabajadores para especificar qué grupo de trabajadores se usará en el contexto de compilación protegido por los Controles del servicio de VPC.
Marcas de cuentas de servicio de compilación personalizadas para especificar una alternativa a la cuenta de servicio de compilación predeterminada y aumentar la seguridad.
Es una marca de actualizaciones automáticas de imágenes base para inhabilitar las actualizaciones automáticas. Por defecto, las funciones tienen habilitadas las actualizaciones de seguridad automáticas.
Deshabilitar la verificación de estado de la implementación
De forma predeterminada, Cloud Run verifica que tu implementación esté en buen estado iniciando una instancia y esperando a que se apruebe su sondeo de inicio. Si la verificación de estado falla, la revisión se marcará como en mal estado y el tráfico no se enrutará a ella.
Si no es necesario o para aumentar la velocidad de implementación, se puede desactivar la verificación de estado de la implementación:
gcloud
Para inhabilitar la verificación de estado de la implementación, usa la marca --no-deploy-health-check:
gcloud run deploy --image IMAGE_URL --no-deploy-health-check
Reemplaza lo siguiente:
IMAGE_URL: Una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL sigue el formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Usa --deploy-health-check para volver a habilitar la verificación de estado de la implementación si se había inhabilitado.
YAML
Para inhabilitar la verificación de estado de la implementación, agrega la anotación run.googleapis.com/health-check-disabled con el valor 'true' a spec.template.metadata.annotations.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: SERVICE
spec:
template:
metadata:
annotations:
run.googleapis.com/health-check-disabled: 'true'
Terraform
Para inhabilitar la verificación de estado de la implementación, establece el argumento health_check_disabled en true en el bloque template.
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
...
template {
health_check_disabled = true
...
}
}
Bucket de origen
El código fuente debe ser accesible para el proceso de compilación y el editor de código fuente de la consolaGoogle Cloud . Esto se logra subiendo su código fuente a un bucket de Cloud Storage.
Cuando realizas la implementación con gcloud CLI o la consola de Google Cloud , se aprovisiona automáticamente un bucket de Cloud Storage y se sube tu código fuente. De forma predeterminada, tu código se almacena en un bucket llamado run-sources-PROJECT_ID-REGION. Eres responsable de administrar las listas de control de acceso (LCA) y los objetos fuente dentro de este bucket.
Si necesitas usar un bucket específico, por ejemplo, para usar claves de encriptación administradas por el cliente (CMEK), primero debes empaquetar tus archivos fuente locales en un archivo (como un archivo ZIP). Luego, sube este archivo a tu bucket. Para realizar la implementación desde esta ubicación personalizada, usa la gcloud CLI con la marca --source=gs://BUCKET_NAME/OBJECT_PATH.
¿Qué sigue?
Después de implementar una función de Cloud Run nueva, puedes hacer lo siguiente:
- Ver o eliminar funciones
- Administrar servicios
- Ver registros
- Compila contenedores de funciones en tu propia cadena de herramientas y, luego, impleméntalos en Cloud Run.
- Activador con eventos
- Activa funciones desde Cloud Storage con Eventarc.