Aprende a establecer la cantidad máxima de instancias de contenedor que se pueden usar para tu servicio de Knative serving. Especificar un máximo de instancias en Knative serving te permite limitar el escalamiento del servicio en respuesta a 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 cómo Knative serving realiza un ajuste de escala automático en instancias de contenedor, 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
Ve a Knative serving en la consola de Google Cloud:
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.
En Configuración avanzada, haz clic en Contenedor.
En el campo Número máximo de instancias, especifica la cantidad máxima deseada de instancias de contenedor.
Haz clic en Siguiente para pasar a la siguiente sección.
En la sección Configura la forma en que se activa el servicio, selecciona la conectividad que deseas usar para invocar el servicio.
Haz clic en Crear para implementar la imagen en Knative serving y espera a que termine 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.
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 Knative serving.
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
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml