Divisiones de instancias y restauraciones de grupos de trabajadores de Cloud Run

Los grupos de trabajadores gestionan cargas de trabajo que no son de solicitud. En los casos prácticos en los que se necesita dividir el trabajo entre varias revisiones, como al implementar una nueva revisión, 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 de cada revisión. Esta función te permite volver a una revisión anterior, dividir las 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 gestionar 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 estén procesando se completarán. Las solicitudes en curso no se descartan y Cloud Run puede dirigir estas solicitudes a una revisión nueva o a una anterior durante el periodo de transición.

Ciclo de vida de las divisiones de instancias

Si divides las 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. Para volver a usar solo la última revisión sin dividir las instancias, envía todas las instancias a la última revisión.

Roles obligatorios

Para obtener los permisos que necesitas para gestionar los grupos de trabajadores y las revisiones de grupos de trabajadores de Cloud Run, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Desarrollador de Cloud Run (roles/run.developer) en tu grupo de trabajadores de Cloud Run.

Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos Roles de gestión de identidades y accesos de Cloud Run y Permisos de gestión de identidades y accesos de Cloud Run. Si tu grupo de trabajadores de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de identidades de servicio. Para obtener más información sobre cómo conceder roles, consulta los permisos de implementación y el artículo sobre cómo gestionar el acceso.

Restaurar una revisión anterior

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

Consola

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

    Ir a Cloud Run

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

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

  4. Haga clic en Gestionar divisiones de instancias para mostrar el formulario de gestión de instancias. Cloud Run muestra la última revisión de servicio. En el formulario, configure los siguientes detalles:

    1. Añadir revisión y usa la lista desplegable para seleccionar una revisión anterior.
    2. Asigna a la instancia de la revisión anterior el valor 100 %.
    3. Define el porcentaje de la última revisión de publicación en 0.
    4. Haz clic en Guardar.

gcloud

Especifica las revisiones a las que quieres volver ejecutando el siguiente comando.

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

Haz los cambios siguientes:

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

Dividir las instancias entre varias revisiones

Para dividir las instancias entre dos o más revisiones, usa la Google Cloud consola o la interfaz de línea de comandos de Google Cloud:

Cuando dividas las instancias entre varias revisiones, asegúrate de que el porcentaje total de todas las revisiones sea del 100 % y de que el número de instancias manuales sea mayor que el número de divisiones de instancias que sirven la carga de trabajo.

Consola

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

    Ir a Cloud Run

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

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

  4. Haga clic en Gestionar divisiones de instancias para mostrar el formulario de gestión de instancias. Cloud Run muestra la última revisión de servicio. En el formulario, configure los siguientes detalles:

    1. Define el porcentaje de la revisión de publicación más reciente en la división necesaria. Por ejemplo, redúcelo del 100%.

    2. Haz clic en Añadir revisión y usa la lista desplegable para seleccionar una revisión anterior y definir el porcentaje correspondiente.

    3. Para dividir las instancias con revisiones adicionales, haz clic en Añadir revisión, selecciona otra revisión y define su porcentaje.

    4. Haz clic en Guardar.

gcloud

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

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

Haz los cambios siguientes:

  • WORKER_POOL: el nombre del grupo de trabajadores.

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

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

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

Asignar instancias a la última revisión

Cuando despliegues una revisión nueva, puedes asignar el 100% de las instancias a esta revisión y a todas las futuras, lo que anulará cualquier división de instancias establecida. Para asignar el 100% de las instancias a la última revisión, ejecuta los siguientes comandos:

  • Usa la marca --to-latest para dirigir el 100% de las instancias a la última revisión 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
    
  • También puede usar 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 implemente una. Para definir un porcentaje de instancias que siempre se actualicen a la última revisión, ejecuta el siguiente comando:

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

    Haz los cambios siguientes:

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

Siguientes pasos