Ajuste de escala manual para grupos de trabajadores

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:

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

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

    Ir a Cloud Run

  2. 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.

  3. Ubica el formulario Escalamiento (para un grupo de trabajadores nuevo) o el formulario Editar escalamiento para un grupo de trabajadores existente.

    imagen

  4. En el campo Cantidad de instancias, especifica la cantidad de instancias de contenedor para el servicio.

  5. Completa la especificación.

  6. 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 0 para 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

  1. 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
  2. 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 0 para inhabilitar el grupo de trabajadores.
  3. 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 replace usa de forma predeterminada el archivo worker-pool.yaml si 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 0 para 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 con gcloud 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

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

    Ir a Cloud Run

  2. Haz clic en Grupos de trabajadores para mostrar la lista de grupos de trabajadores implementados.

  3. Haz clic en el grupo de trabajadores que deseas examinar para mostrar su panel de detalles.

  4. 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.