Los grupos de trabajadores controlan las cargas de trabajo sin solicitudes. Para los casos de uso que necesitan dividir el trabajo entre varias revisiones, como la implementación de 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, se completan todas las solicitudes que están en proceso. Las solicitudes en tránsito no se descartan, y Cloud Run puede dirigirlas 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 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 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 consola de Google Cloud o Google Cloud CLI:
Console
En la consola de Google Cloud , ve a los grupos de trabajadores de Cloud Run:
Ubica el grupo de trabajadores en la lista y haz clic en él.
Haz clic en la pestaña Revisiones para ver la lista de revisiones actuales de ese grupo de trabajadores.
Haz clic en Administrar divisiones de instancias para mostrar el formulario de administración de instancias. Cloud Run muestra la revisión de publicación más reciente. En el formulario, configura los siguientes detalles:
- Agregar revisión y usa la lista desplegable para seleccionar una revisión anterior.
- Establece el porcentaje de instancias de esa revisión anterior en 100.
- Establece el porcentaje de la revisión de publicación más reciente en 0.
- Haz clic en Guardar.
gcloud
Ejecuta el siguiente comando para especificar las revisiones a las que deseas revertir el cambio.
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: Es el nombre de la revisión a la que deseas revertir.
Divide las instancias entre varias revisiones
Para dividir instancias entre dos o más revisiones, usa la consola de Google Cloud o Google Cloud CLI:
Cuando dividas las instancias entre varias revisiones, asegúrate de que el porcentaje total en todas las revisiones sea igual al 100% y de que la cantidad de instancias manuales sea mayor que la cantidad de divisiones de instancias que publican la carga de trabajo.
Console
En la consola Google Cloud , ve a los grupos de trabajadores de Cloud Run:
Ubica el grupo de trabajadores en la lista y haz clic en él.
Haz clic en la pestaña Revisiones para ver la lista de revisiones actuales de ese grupo de trabajadores.
Haz clic en Administrar divisiones de instancias para mostrar el formulario de administración de instancias. Cloud Run muestra la revisión de publicación más reciente. En el formulario, configura los siguientes detalles:
Establece el porcentaje de la revisión más reciente en la división requerida; por ejemplo, redúcelo del 100%.
Haz clic en Agregar revisión y usa la lista desplegable para seleccionar una revisión anterior y establecer su porcentaje de división correspondiente.
Para dividir instancias con revisiones adicionales, haz clic en Agregar revisión, selecciona otra revisión y establece su porcentaje.
Haz clic en Guardar.
gcloud
Ejecuta el siguiente comando para especificar las revisiones y el porcentaje de instancias. 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 de revisiones y porcentajes delimitados por comas:
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-latestpara 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-latestDe manera opcional, usa la marca
--to-revisionscon la palabra claveLATESTpara 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 se transfieren a la revisión más reciente, ejecuta el siguiente comando:gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGEReemplaza lo siguiente:
- WORKER_POOL: El nombre del grupo de trabajadores
- PERCENTAGE: Es el porcentaje de instancias que se asignarán a las revisiones más recientes y futuras más recientes.
¿Qué sigue?
- Obtén información para usar Cloud Deploy a fin de configurar una canalización de entrega continua para implementar en Cloud Run.