Configura una cantidad máxima de instancias de contenedor

Aprende a establecer la cantidad máxima de instancias de contenedor que se pueden usar para el servicio de entrega de Knative. Especificar una cantidad máxima de instancias en la entrega de Knative te permite limitar el escalamiento del servicio en respuesta a las solicitudes entrantes. Usa esta configuración como una forma de controlar tus costos o limitar la cantidad de conexiones a un servicio de respaldo, como una base de datos.

Para obtener más información sobre la forma en que la entrega de Knative realiza el ajuste de escala automático de las instancias de contenedores, consulta Ajuste de escala automático de instancias.

Configura y actualiza un máximo 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, la cantidad de instancias de contenedor se pueden escalar de forma infinita. Puedes establecer un límite superior para la cantidad máxima de instancias mediante la consola de Google Cloud o Google Cloud CLI cuando implementas un servicio nuevo o actualizas un servicio existente e implementas una revisión:

Console

  1. Ve a la entrega de Knative en la consola de Google Cloud:

    Ir a la entrega de Knative

  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.

  4. En el campo Número máximo de instancias, especifica la cantidad máxima deseada de instancias de contenedor.

  5. Haz clic en Siguiente para pasar a la siguiente sección.

  6. En la sección Configura la forma en que se activa el servicio, selecciona la conectividad que deseas usar para invocar el servicio.

  7. Haz clic en Crear para implementar la imagen en la entrega de Knative y espera a que finalice la implementación.

Línea de comandos

  • Para los servicios existentes, establece el número máximo de instancias de contenedor mediante la ejecución del comando gcloud run services update con el parámetro --max-instances:

    gcloud run services update SERVICE --max-instances MAX-VALUE
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • MAX-VALUE por el número máximo deseado de instancias de contenedor Especifica default para borrar cualquier configuración de un máximo de instancias
  • En el caso de los servicios nuevos, configura el número máximo de instancias de contenedor mediante la ejecución del comando gcloud run deploy con el parámetro --max-instances:

    gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-VALUE
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/cloudrun/hello
    • MAX-VALUE por el número máximo deseado de instancias de contenedor Especifica default para borrar cualquier configuración de un máximo de instancias

YAML

Puedes descargar la configuración de un servicio existente en un archivo YAML con el comando gcloud run services describe mediante la marca --format=export. Luego, puedes modificar ese archivo YAML e implementar esos cambios con el comando gcloud run services replace. Debes asegurarte de modificar solo los atributos especificados.

  1. Descarga la configuración del servicio en un archivo llamado service.yaml en el lugar de trabajo local:

    gcloud run services describe SERVICE --format export > service.yaml

    Reemplaza SERVICE por el nombre de tu servicio de entrega de Knative.

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

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' 

    Reemplazar

    • MAX-INSTANCE por la cantidad máxima deseada
  3. Reemplaza el servicio por la configuración nueva mediante el siguiente comando:

    gcloud run services replace service.yaml