Usa el número mínimo de instancias

Aprende a habilitar las instancias inactivas para tus servicios mediante la configuración de instancias mínimas.

De forma predeterminada, Cloud Run para Anthos en Google Cloud escala hasta la cantidad de instancias según la cantidad 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.

Las instancias que se mantienen en ejecución de esta manera generan costos de facturación.

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 con Cloud Console o la herramienta de línea de comandos de gcloud cuando implementas un servicio nuevo o actualizas un servicio existente y Implementa una revisión:

Console

  1. Implementar en Cloud Run for Anthos en Google Cloud

  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, haz clic en IMPLEMENTAR Y EDITAR UNA NUEVA REVISIÓN.

  3. En Configuración avanzada, haz clic en Contenedor.

    imagen

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

  5. Haz clic en Crear o Implementar.

Línea de comandos

  • Para servicios existentes, establece la cantidad mínima de instancias de contenedor mediante la ejecución del comando gcloud kuberun core services update con el parámetro --min-instances

    gcloud kuberun core services update SERVICE --min-instances MIN-VALUE
    

    Reemplaza lo siguiente:

    • 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
  • En servicios nuevos, configura la cantidad mínima de instancias de contenedor mediante la ejecución del comando gcloud kuberun core services create con el parámetro --min-instances:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --min-instances MIN-VALUE
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/myproject/my-image:latest
    • MIN-VALUEcode> con la cantidad deseada de instancias de contenedor que se mantendrán cálidas, listas para recibir solicitudes. Especifica default para borrar cualquier configuración de número mínimo de instancias

YAML

Si deseas usar un archivo YAML para modificar la configuración de tu servicio existente, obtén una copia de la configuración actual, modifica y guarda los cambios en un archivo local y, luego, implementa esos cambios en tu servicio.

  1. Muestra como YAML y, luego, copia la configuración de tu servicio en un archivo local, por ejemplo service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Reemplaza SERVICE por el nombre de tu servicio de Cloud Run for Anthos.

  2. En tu archivo local, actualiza el atributo autoscaling.knative.dev/minScale::

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

    Reemplaza lo siguiente:

    • MIN-VALUEcode> con la cantidad deseada de instancias de contenedor que se mantendrán cálidas, listas para recibir solicitudes. Especifica default para borrar cualquier configuración de número mínimo de instancias
  3. Reemplaza el servicio por la configuración nueva mediante el comando siguiente:

    gcloud beta run services replace service.yaml