En esta página, se muestra cómo ajustar la escala de tu grupo de trabajadores de forma manual.
Descripción general
El ajuste de escala manual te permite establecer una cantidad de instancias específica sin necesidad de volver a realizar la implementación. Esto te da la opción de escribir tu propia lógica de escalamiento con un sistema externo. Consulta el ajuste de escala automático de Kafka para ver un ejemplo.
Consideraciones de facturación cuando se usa el ajuste de escala manual
Cuando usas el ajuste de escala manual, se facturan todas las instancias que solicitaste como instancias activas, incluso si están inactivas. Para obtener detalles completos de facturación, consulta la página de precios.
Roles obligatorios
Para obtener los permisos que necesitas para implementar grupos de trabajadores 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 - Lector de Artifact Registry (
roles/artifactregistry.reader) en el repositorio de Artifact Registry de la imagen de contenedor implementada (si corresponde)
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 tu grupo de trabajadores de Cloud Run interactúa con lasGoogle Cloud APIs, 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 los permisos de implementación y cómo administrar el acceso.
Configura el escalamiento
Si cambias el modo de escalamiento o la cantidad de instancias manuales, no se crea una revisión nueva.
Para configurar el modo de escalamiento, usa la Google Cloud consola, Google Cloud CLI, YAML, Terraform o la API de REST:
Console
En la consola Google Cloud , ve a Cloud Run:
Si quieres configurar un grupo de trabajadores nuevo, selecciona Grupos de trabajadores en el menú y haz clic en Implementar contenedor. Si quieres configurar un grupo de trabajadores existente, haz clic en el grupo de trabajadores para mostrar su panel de detalles y, luego, haz clic en el ícono de lápiz junto a Escalamiento en la parte superior derecha del panel de detalles.
Ubica el formulario Escalamiento (para un grupo de trabajadores nuevo) o el formulario Editar escalamiento para un grupo de trabajadores existente.
En el campo Cantidad de instancias, especifica la cantidad de instancias de contenedor para el servicio.
Completa la especificación.
Haz clic en Crear para un grupo de trabajadores nuevo o en Guardar para un grupo de trabajadores existente.
gcloud
Para especificar el escalamiento de un grupo de trabajadores nuevo, usa el deploy comando:
gcloud run worker-pools deploy WORKER_POOL \ --instances=INSTANCE_COUNT \ --image IMAGE_URL
Reemplaza lo siguiente:
- WORKER_POOL: El nombre de tu grupo de trabajadores
- INSTANCE_COUNT: La cantidad de instancias del grupo de trabajadores
Esto establece el grupo de trabajadores en el ajuste de escala manual. Especifica un valor de
0para inhabilitar el grupo de trabajadores. - IMAGE_URL: Una referencia a la imagen del contenedor que
contiene el grupo de trabajadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
Especifica el escalamiento de un grupo de trabajadores existente con el siguiente update comando:
gcloud run worker-pools update WORKER_POOL \ --instances=INSTANCE_COUNT
YAML
Si creas un grupo de trabajadores nuevo, omite este paso. Si actualizas un grupo de trabajadores existente, descarga su configuración de YAML:
gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
En el siguiente ejemplo, se incluye la configuración de YAML:
apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL annotations: run.googleapis.com/manualInstanceCount: `INSTANCE_COUNT`
Reemplaza lo siguiente:
- WORKER_POOL: El nombre de tu grupo de trabajadores de Cloud Run
- INSTANCE_COUNT: La cantidad de instancias que ajustas de forma manual
para el grupo de trabajadores Especifica un valor de
0para inhabilitar el grupo de trabajadores.
Crea o actualiza el grupo de trabajadores con el siguiente comando:
gcloud run worker-pools replace worker-pool.yaml
El comando
gcloud run worker-pools replaceusa de forma predeterminada el archivoworker-pool.yamlsi está presente.
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "INSTANCE_COUNT"
}
}
Reemplaza lo siguiente:
- WORKER_POOL: El nombre del grupo de trabajadores
- REGION: laregión, por ejemplo,
europe-west1. Google Cloud - IMAGE_URL: Una referencia a la imagen del contenedor que
contiene el grupo de trabajadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - INSTANCE_COUNT: La cantidad de instancias del grupo de trabajadores
Esto establece el grupo de trabajadores en el ajuste de escala manual. Especifica un valor de
0para inhabilitar el grupo de trabajadores.
API de REST
Para actualizar la cantidad de instancias de un grupo de trabajadores determinado, envía una solicitud PATCH
HTTP a la API de Cloud Run Admin
workerPools extremo.
Por ejemplo, con curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":INSTANCE_COUNT }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL?update_mask=scaling.manualInstanceCount
Reemplaza lo siguiente:
- ACCESS_TOKEN: Un token de acceso válido para una cuenta que
tenga los permisos de IAM para actualizar un grupo de trabajadores.
Por ejemplo, si accediste a
gcloud, puedes recuperar un token de acceso congcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - INSTANCE_COUNT: La cantidad de instancias del grupo de trabajadores
- PROJECT_ID: Es el Google Cloud ID del proyecto de
- REGION: la Google Cloud región en la que se implementa el grupo de trabajadores
- WORKER_POOL: El nombre del grupo de trabajadores
Visualiza la configuración de escalamiento de un grupo de trabajadores
En la Google Cloud consola, ve a Cloud Run:
Haz clic en Grupos de trabajadores para mostrar la lista de grupos de trabajadores implementados.
Haz clic en el grupo de trabajadores que deseas examinar para mostrar su panel de detalles.
La configuración de escalamiento actual se muestra sobre la lista de revisiones del grupo de trabajadores: Escalamiento: Manual (Instancias: ).
Inhabilita un grupo de trabajadores
Para inhabilitar un grupo de trabajadores, usa el siguiente comando para establecer el escalamiento en cero:
gcloud run worker-pools update WORKER_POOL --instances=0
Reemplaza WORKER_POOL por el nombre de tu grupo de trabajadores.