Configura los límites de CPU

En esta página, se describe cómo especificar la cantidad de CPU que se usará a cada instancia de Cloud Run. De forma predeterminada, las instancias de contenedor de Cloud Run están limitadas a 1 CPU. Puedes aumentar o disminuir este valor como se describe en esta página.

En esta página, también se describe cómo habilitar o inhabilitar el aumento de CPU de inicio, una característica que aumenta de forma temporal la asignación de CPU durante el inicio de la instancia para reducir la latencia de inicio.

Configura y actualiza los límites de CPU

De forma predeterminada, cada instancia de contenedor está limitada a 1 CPU. Puedes aumentarlo mediante cualquier valor de número entero hasta un máximo de 8 CPU.

CPU y memoria

A continuación, se describen los requisitos de memoria mínima para las CPU:

CPU Memoria mínima
4 2 GiB
6 4 GiB
8 4 GiB

Como alternativa, si deseas usar menos de 1 CPU, puedes seleccionar cualquier valor entre 0.08 y 1, en incrementos de 0.01. Cualquier valor superior a 1 debe ser un valor de número entero. Si usas menos de 1 CPU, se aplican los siguientes requisitos:

Configuración Requisito
Memoria Se necesita un mínimo de 0.5 CPU para establecer un límite de memoria superior a 512 MiB.
Se necesita un mínimo de 1 CPU para establecer un límite de memoria superior a 1 GiB.
Simultaneidad La simultaneidad máxima debe configurarse en 1.
Asignación de CPU La asignación de CPU debe configurarse en la CPU asignada solo durante el procesamiento de la solicitud.
Entorno de ejecución Debes usar el entorno de ejecución de primera generación.

Roles obligatorios

Para obtener los permisos que necesitas para configurar y, luego, implementar los servicios de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta Roles de IAM de Cloud Run y Permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con las APIs de Google Cloud, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información acerca de cómo otorgar roles, consulta Permisos de implementación y Administra el acceso.

Configura los límites de CPU

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes configurar límites de CPU mediante la consola de Google Cloud, la línea de comandos de gcloud o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva:

Console

  1. En la consola de Google Cloud ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en Implementar contenedor y selecciona Servicio para configurar un servicio nuevo. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en implementar y editar la nueva revisión.

  3. Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • Selecciona el límite de CPU que desees de la lista desplegable, con Personalizado, si deseas usar menos de 1 CPU. Selecciona un valor de 1, 2, 4, 6 o 8 CPU, o de menos de 1 CPU, especifica un valor de 0.08 a menos de 1.00, en incrementos de 0.01. (Consulta la tabla en Configura y actualiza los límites de CPU para obtener la configuración necesaria).
  5. Haz clic en Crear o Implementar.

gcloud

Puedes actualizar los límites de CPU para un servicio determinado mediante el siguiente comando:

gcloud run services update SERVICE --cpu CPU

Reemplazar

  • SERVICE por el nombre de tu servicio
  • CPU por el límite de CPU deseado. Especifica el valor 1, 2, 4, 6 o 8 CPU, o de menos de 1 CPU, especifica un valor de 0.08 a menos de 1.00, en incrementos de 0.01. (Consulta la tabla en Configura y actualiza los límites de CPU para obtener la configuración necesaria).

También puedes configurar el valor de durante la implementación mediante el siguiente comando:

gcloud run deploy --image IMAGE_URL --cpu CPU

Reemplazar

  • IMAGE_URL por una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • CPU con el valor 1, 2, 4, 6 o 8 CPU, o de menos de 1 CPU, especifica un valor de 0.08 a menos 1.00, en incrementos de 0.01. (Consulta la tabla en Configura y actualiza los límites de CPU para obtener la configuración necesaria).

YAML

  1. Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza el atributo cpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Reemplazar

    • SERVICE por el nombre del servicio de Cloud Run
    • IMAGE_URL por una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • CPU por el valor de límite de CPU deseado Especifica el valor 1, 2, 4, 6 o 8 CPU, o de menos de 1 CPU, especifica un valor de 0.08 a menos de 1.00, en incrementos de 0.01. (Consulta la tabla en Configura y actualiza los límites de CPU para obtener la configuración necesaria).
    • REVISION por un nombre de revisión nuevo o bórralo (si está presente). Si proporcionas un nuevo nombre de revisión, debe cumplir con los siguientes criterios:
      • Comienza con SERVICE-
      • Solo contiene letras minúsculas, números y -
      • No termina con -
      • No supera los 63 caracteres
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run services replace service.yaml

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

El siguiente recurso google_cloud_run_v2_service especifica un límite de CPU en template.containers.resources.limits. Reemplaza 1 por el recuento de CPU deseado.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-cpu"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          # CPU usage limit
          cpu = "1"
        }
      }
    }
  }
}

Establece el aumento de la CPU de inicio

La función de aumento de la CPU de inicio para las revisiones proporciona CPU adicional durante el tiempo de inicio de la instancia y durante 10 segundos después de que se haya iniciado la instancia.

El aumento real de CPU varía según la configuración del límite de CPU:

Límite de CPU CPU aumentada
0-1 2
2 4
4 3.6
6 8
8 8

Se te cobra por la CPU aumentada que se asignó mientras dure el tiempo de inicio del contenedor. Por ejemplo, si el tiempo de inicio del contenedor es de 15 segundos y asignas 2 CPU, con el aumento de CPU de inicio, se te cobrará por 4 CPU durante el tiempo de inicio de la instancia (posiblemente más corto), incluidos los 10 segundos después de que tu contenedor haya terminado de iniciarse, y por 2 CPU durante el resto del ciclo de vida del contenedor.

Puedes habilitar o inhabilitar el aumento de CPU de inicio con la consola de Google Cloud o Google Cloud CLI.

Console

  1. En la consola de Google Cloud ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en Implementar contenedor y selecciona Servicio para configurar un servicio nuevo. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en implementar y editar la nueva revisión.

  3. Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • Para habilitar el aumento de CPU de inicio, selecciona la casilla de verificación Aumento de CPU de inicio. Para inhabilitar esta función, quita la selección de la casilla de verificación.
  5. Haz clic en Crear o Implementar.

gcloud

  1. Puedes habilitar el aumento de la CPU de inicio para un servicio determinado con el siguiente comando:

    gcloud run services update SERVICE --cpu-boost

    Reemplaza SERVICE por el nombre del servicio

    Puedes habilitar el aumento de la CPU de inicio durante la implementación mediante el siguiente comando:

    gcloud run deploy --image IMAGE_URL --cpu-boost

    Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  2. Puedes inhabilitar el aumento de la CPU de inicio para un servicio determinado mediante el siguiente comando:

    gcloud run services update SERVICE --no-cpu-boost

    Reemplaza SERVICE por el nombre del servicio

    Puedes inhabilitar el aumento de la CPU de inicio durante la implementación mediante el siguiente comando:

    gcloud run deploy --image IMAGE_URL --no-cpu-boost

YAML

  1. Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza el atributo run.googleapis.com/startup-cpu-boost y especifica 'true' a fin de habilitar el aumento de CPU de inicio o 'false' para inhabilitarlo:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/startup-cpu-boost: 'true'

    Reemplazar

    • SERVICE por el nombre del servicio de Cloud Run
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run services replace service.yaml

Visualiza la configuración de CPU

Para ver la configuración actual de la CPU de tu servicio de Cloud Run, sigue estos pasos:

Console

  1. En la consola de Google Cloud ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración de CPU aparece en la pestaña Contenedor.

gcloud

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Busca la configuración de CPU en la configuración mostrada.