Usa el número mínimo de instancias

De forma predeterminada, Cloud Run reduce la escala de la cantidad de instancias según el número de solicitudes entrantes. Sin embargo, si tu servicio requiere una latencia reducida y deseas limitar la cantidad de inicios en frío, puedes cambiar este comportamiento predeterminado si especificas un número mínimo de instancias de contenedor que se deben mantener en espera y listas para entregar solicitudes. Consulta Sugerencias generales para el desarrollo a fin de obtener más detalles sobre esta optimización.

Las instancias que se mantienen en ejecución de esta manera generan costos de facturación a tarifas de inactividad. La cantidad mínima de instancias se mantendrá en funcionamiento de manera inactiva y estará lista para entregar solicitudes. Sin embargo, se limitará la CPU cuando no se procese ninguna solicitud.

En esta página, se describe cómo habilitar instancias inactivas para tu servicio con la configuración de número mínimo de instancias.

Revisiones y número mínimo de instancias

El número mínimo de instancias se inicia solo si se puede abordar la revisión. Se puede abordar una revisión si se cumple alguna de las siguientes condiciones:

  • Recibe un porcentaje del tráfico.
  • Se le asignó una etiqueta de revisión.

Configura y actualiza el número mínimo de instancias

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

De forma predeterminada, las instancias de contenedor tienen min-instances desactivado, con una configuración de 0. Puedes cambiar esta configuración predeterminada mediante Cloud Console, la línea de comandos de gcloud o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva:

Console

  1. Ir a Cloud Run

  2. Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en Edit and Deploy New Revision.

  3. Si estás configurando un servicio nuevo, llena la página de configuración inicial del servicio como desees y haz clic en Siguiente > Configuración avanzada para acceder a la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    image

  5. En el campo Número mínimo de instancias, especifica la cantidad de instancias de contenedor que deseas que se mantengan en espera, listas para recibir solicitudes.

  6. Haz clic en Crear o Implementar.

Línea de comandos

Puedes actualizar el valor de min-instance de un servicio determinado mediante el siguiente comando:

gcloud run services update SERVICE --min-instances MIN-VALUE

Reemplaza los siguientes valores

  • SERVICE por el nombre de tu servicio
  • MIN-VALUE por la cantidad de instancias de contenedor que deseas que se mantengan en espera, listas para recibir solicitudes. Especifica default para borrar cualquier configuración de número mínimo de instancias

También puedes configurar el valor de min-instance durante la implementación mediante el siguiente comando:

gcloud run deploy --image IMAGE_URL --min-instances MIN-VALUE

Reemplaza los siguientes valores

  • IMAGE_URL por una referencia a la imagen de contenedor, como gcr.io/myproject/my-image:latest
  • MIN-VALUE por la cantidad de instancias de contenedor que deseas que se mantengan en espera, listas para recibir solicitudes. Especifica default para borrar cualquier configuración de número mínimo de instancias

YAML

Puedes descargar y ver la configuración del servicio existente mediante el comando gcloud run services describe --format export, que genera resultados limpios en formato YAML. Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud beta run services replace. Asegúrate de modificar los campos tal como se indica en la documentación.

  1. Para ver y descargar la configuración, ejecuta el siguiente comando:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza el atributo autoscaling.knative.dev/minScale::

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/minScale: 'MIN-INSTANCE' 

    Reemplaza los siguientes valores

    • MIN-INSTANCE por la cantidad de instancias que deseas que se mantengan en espera, listas para recibir solicitudes
  3. Reemplaza el servicio por la configuración nueva mediante el comando siguiente:

    gcloud beta run services replace service.yaml

Visualiza la configuración de instancias mínimas

Para ver la configuración actual de instancias mínimas de tu servicio, sigue estos pasos:

Console

  1. Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración de instancias mínimas se muestra en la pestaña Contenedor.

Línea de comandos

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Busca la configuración de instancias mínimas en la configuración que se muestra.