Divisiones de instancias y reversiones para grupos de trabajadores de Cloud Run

Los grupos de trabajadores controlan las cargas de trabajo que no son de solicitud. Para los casos de uso que necesitan dividir el trabajo entre varias revisiones, como implementar una revisión nueva, los grupos de trabajadores usan la división de instancias.

Cloud Run te permite especificar qué revisiones reciben instancias y especificar los porcentajes de asignación de instancias para cada revisión. Esta función te permite revertir a una revisión anterior, dividir instancias entre varias revisiones y asignar instancias a la revisión más reciente. En esta página, se describe cómo usar esta función para administrar la asignación de instancias a tus revisiones de Cloud Run.

Los ajustes de asignación de instancias no son instantáneos. Cuando cambias la asignación de instancias para las revisiones, todas las solicitudes que se procesan continúan hasta completarse. Las solicitudes en tránsito no se descartan, y Cloud Run puede dirigir estas solicitudes a una revisión nueva o a una revisión anterior durante el período de transición.

Ciclo de vida de las divisiones de instancias

Si divides instancias entre varias revisiones o asignas instancias a una revisión anterior, todas las implementaciones posteriores usarán ese patrón de división de instancias en el futuro. Para volver a usar solo la revisión más reciente sin división de instancias, envía todas las instancias a la revisión más reciente.

Roles obligatorios

Para obtener los permisos que necesitas para administrar los grupos de trabajadores y las revisiones de grupos de trabajadores de Cloud Run, pídele a tu administrador que te otorgue el rol de IAM de desarrollador de Cloud Run (roles/run.developer) en tu grupo de trabajadores 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 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.

Revierte a una revisión anterior

Para revertir a una revisión anterior, usa la Google Cloud consola o Google Cloud CLI:

Console

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

    Ir a Cloud Run

  2. Ubica el grupo de trabajadores en la lista y haz clic en él.

  3. Haz clic en la pestaña Revisiones para mostrar la lista de revisiones actuales de ese grupo de trabajadores.

  4. Haz clic en Administrar divisiones de instancias para mostrar el formulario de administración de instancias. Cloud Run muestra la revisión de servicio más reciente. En el formulario, configura los siguientes detalles:

    1. Agregar revisión y usa la lista desplegable para seleccionar una revisión anterior.
    2. Establece el porcentaje de instancias de esa revisión anterior en 100.
    3. Establece el porcentaje de la revisión de servicio más reciente en 0.
    4. Haz clic en Guardar.

gcloud

Especifica las revisiones a las que deseas revertir ejecutando el siguiente comando.

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100

Reemplaza lo siguiente:

  • WORKER_POOL: el nombre del grupo de trabajadores.
  • REVISION: el nombre de la revisión a la que deseas revertir.

Divide instancias entre varias revisiones

Para dividir instancias entre dos o más revisiones, usa la Google Cloud consola o Google Cloud CLI:

Cuando divides instancias entre varias revisiones, asegúrate de que el porcentaje total en todas las revisiones sea igual al 100% y que la cantidad de instancias manuales sea mayor que la cantidad de divisiones de instancias que publican la carga de trabajo.

Console

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

    Ir a Cloud Run

  2. Ubica el grupo de trabajadores en la lista y haz clic en él.

  3. Haz clic en la pestaña Revisiones para mostrar la lista de revisiones actuales de ese grupo de trabajadores.

  4. Haz clic en Administrar divisiones de instancias para mostrar el formulario de administración de instancias. Cloud Run muestra la revisión de servicio más reciente. En el formulario, configura los siguientes detalles:

    1. Establece el porcentaje de la revisión de servicio más reciente en la división requerida, por ejemplo, redúcelo del 100%.

    2. Haz clic en Agregar revisión y usa la lista desplegable para seleccionar una revisión anterior y establecer su división de porcentaje correspondiente.

    3. Para dividir instancias con revisiones adicionales, haz clic en Agregar revisión, y selecciona otra revisión y establece su porcentaje.

    4. Haz clic en Guardar.

gcloud

Especifica las revisiones y el porcentaje de instancias ejecutando el siguiente comando. Asigna instancias para cada revisión en una lista delimitada por comas:

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST

Reemplaza lo siguiente:

  • WORKER_POOL: el nombre del grupo de trabajadores.

  • LIST: lista delimitada por comas de revisiones y porcentajes:

    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.

    Por ejemplo, my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90.

Asigna instancias a la revisión más reciente

Cuando implementas una revisión nueva, puedes asignar el 100% de las instancias a esta revisión y a todas las futuras, lo que anula cualquier división de instancias establecida. Para asignar el 100% de las instancias a la revisión más reciente, ejecuta los siguientes comandos:

  • Usa la marca --to-latest para dirigir el 100% de las instancias a la revisión más reciente y asignar automáticamente todas las instancias a cualquier revisión nueva que implementes:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest
    
  • De manera opcional, usa la marca --to-revisions con la palabra clave LATEST para asignar siempre un porcentaje flotante de instancias a la revisión más reciente cuando implementes una. Para establecer un porcentaje de instancias que siempre flote a la revisión más reciente, ejecuta el siguiente comando:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGE
    

    Reemplaza lo siguiente:

    • WORKER_POOL: el nombre del grupo de trabajadores.
    • PERCENTAGE: el porcentaje de instancias que se asignarán para las revisiones más recientes y futuras.

¿Qué sigue?