Definir un número máximo de instancias de contenedor

Consulta cómo definir el número máximo de instancias de contenedor que se pueden usar en tu servicio de Knative. Si especificas el número máximo de instancias en Knative Serving, puedes limitar el escalado de tu servicio en respuesta a las solicitudes entrantes. Usa este ajuste para controlar los costes o limitar el número de conexiones a un servicio de respaldo, como una base de datos.

Para obtener más información sobre cómo se autoescalan las instancias de contenedor de Knative Serving, consulta Autoescalado de instancias.

Definir y actualizar el número máximo de instancias

Cualquier cambio en la configuración conlleva la creación de una nueva revisión. Las revisiones posteriores también recibirán automáticamente este ajuste de configuración, a menos que hagas cambios explícitos para modificarlo.

De forma predeterminada, el número de instancias de contenedor se puede escalar de forma infinita. Puedes definir un límite superior para el número máximo de instancias mediante laGoogle Cloud consola o la CLI de Google Cloud al desplegar un servicio nuevo o actualizar uno que ya tengas y desplegar una revisión:

Consola

  1. Ve a Knative Serving en la Google Cloud consola:

    Ir a Knative serving

  2. Haga clic en Crear servicio si va a configurar un servicio nuevo que va a implementar. Si va a configurar un servicio que ya tiene, haga clic en él y, a continuación, en Editar y desplegar nueva revisión.

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

  4. En el campo Número máximo de instancias, especifica el número máximo de instancias de contenedor que quieras.

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

  6. En la sección Configurar la activación del servicio, selecciona la conectividad que quieras usar para invocar el servicio.

  7. Haz clic en Crear para desplegar la imagen en Knative Serving y espera a que se complete el despliegue.

Línea de comandos

  • En el caso de los servicios que ya tengas, define el número máximo de instancias de contenedor ejecutando el comando gcloud run services update con el parámetro --max-instances:

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

    Sustituye:

    • SERVICE con el nombre de tu servicio.
    • MAX-VALUE con el número máximo de instancias de contenedor que quieras. Especifica default para borrar cualquier ajuste de instancia máxima.
  • En el caso de los servicios nuevos, define el número máximo de instancias de contenedor ejecutando el comando gcloud run deploy con el parámetro --max-instances:

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

    Sustituye:

    • SERVICE con el nombre de tu servicio.
    • IMAGE_URL con una referencia a la imagen del contenedor, por ejemplo, gcr.io/cloudrun/hello.
    • MAX-VALUE con el número máximo de instancias de contenedor que quieras. Especifica default para borrar cualquier ajuste de instancia máxima.

YAML

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

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

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

    Sustituye SERVICE por el nombre de tu servicio de Knative.

  2. En su archivo local, actualice el atributo autoscaling.knative.dev/maxScale::

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

    Sustituir

    • MAX-INSTANCE con el número máximo que quieras.
  3. Sustituye el servicio por su nueva configuración con el siguiente comando:

    gcloud run services replace service.yaml