En esta página, se describe cómo establecer el número máximo de instancias que se pueden usar en tu servicio de Cloud Run.
Especificar un máximo de instancias en Cloud Run te permite limitar el escalamiento del servicio en respuesta a solicitudes entrantes, aunque esta configuración máxima se puede exceder durante un período breve debido a circunstancias como los aumentos de tráfico.
Puedes usar este parámetro de configuración como una forma de controlar tus costos o limitar la cantidad de conexiones a un servicio de respaldo, como una base de datos.
Para obtener información sobre los límites máximos de instancias que podrían aplicarse a tu servicio, consulta Límites máximos de instancias.
Para obtener más información sobre cómo Cloud Run realiza el ajuste de escala automático de las instancias de contenedor, consulta Ajuste de escala automático de instancias.
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:
-
Desarrollador de Cloud Run (
roles/run.developer
) en el servicio de Cloud Run -
Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser
) en la identidad del servicio
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 sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.
Configura y actualiza el máximo de instancias
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.
De forma predeterminada, los servicios de Cloud Run están configurados para escalar horizontalmente hasta un máximo de 100 instancias.
Puedes cambiar la configuración de instancias máximas mediante la consola de Google Cloud, Google Cloud CLI o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva.
Console
En la consola de Google Cloud ve a Cloud Run:
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.
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.
Haz clic en la pestaña Contenedor.
- En el campo Cantidad máxima de instancias, especifica la cantidad máxima deseada de instancias con un valor de número entero de
1
al límite máximo
- En el campo Cantidad máxima de instancias, especifica la cantidad máxima deseada de instancias con un valor de número entero de
Haz clic en Crear o Implementar.
gcloud
Puedes actualizar la cantidad máxima de instancias de un servicio determinado mediante el siguiente comando:
gcloud run services update SERVICE --max-instances MAX-VALUE
Reemplazar
- SERVICE por el nombre de tu servicio
- MAX-VALUE por la cantidad máxima deseada de instancias de contenedor, mediante cualquier valor de número entero de
1
al límite máximo. Especificadefault
para borrar cualquier configuración de un máximo de instancias y restablecer el valor predeterminado de 100 instancias.
También puedes configurar la cantidad máxima de instancias durante la implementación mediante el siguiente comando:
gcloud run deploy --image IMAGE_URL --max-instances MAX-VALUE
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 formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - MAX-VALUE por la cantidad máxima deseada de instancias de contenedor
YAML
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
Actualiza el atributo
autoscaling.knative.dev/maxScale:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' name: REVISION
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- MAX-INSTANCE por la cantidad máxima requerida
- 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
- Comienza con
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 una cantidad máxima de instancias de 10
en template.scaling
.
Reemplaza 10
por la cantidad máxima de instancias que necesitas.
Visualiza la configuración máxima de instancias
Para ver la configuración máxima de instancias actual de tu servicio de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud ve a Cloud Run:
Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.
Haz clic en la pestaña Revisiones.
En el panel de detalles a la derecha, la configuración de instancias máximas se muestra en la pestaña Contenedor.
gcloud
Usa el siguiente comando:
gcloud run services describe SERVICE
Busca la configuración de instancias máximas en la configuración que se muestra.