En Cloud Run for Anthos, cada revisión se escala de forma automática a la cantidad de instancias de contenedor necesarias para controlar todas las solicitudes entrantes. Cuando una revisión no recibe tráfico, la cantidad de instancias de contenedor se escala a cero de forma predeterminada. Sin embargo, si lo deseas, puedes cambiar este valor predeterminado para especificar que una instancia se mantenga inactiva o “en espera” con la configuración de instancias mínimas.
La cantidad de instancias programadas se ve afectada por los siguientes factores:
- La cantidad de CPU necesaria para procesar una solicitud
- La configuración de simultaneidad
- La configuración de la cantidad máxima de instancias de contenedor
- La configuración de la cantidad mínima de instancias de contenedor
En algunos casos, se recomienda limitar la cantidad total de instancias de contenedor que se pueden iniciar, por motivos de control de costos o para obtener una mejor compatibilidad con otros recursos que usa el servicio. Por ejemplo, el servicio de Cloud Run for Anthos puede interactuar con una base de datos que solo puede controlar una cantidad determinada de conexiones abiertas simultáneas.
Información acerca de la cantidad máxima de instancias de contenedor
Puedes usar la configuración de un máximo de instancias de contenedor para limitar la cantidad total de instancias que se pueden iniciar en paralelo, como se indica en Configura una cantidad máxima de instancias de contenedor.
Consumo superior a la cantidad máxima de instancias
En circunstancias normales, la revisión se escala horizontalmente mediante la creación de instancias nuevas para controlar la carga de tráfico entrante. Sin embargo, cuando estableces un límite máximo de instancias, en algunas situaciones, no habrá suficientes instancias para poder controlar esa carga de tráfico. En ese caso, las solicitudes entrantes se ponen en cola durante un máximo de 60 segundos. Si una instancia termina de procesar solicitudes durante este período de 60 segundos, estará disponible para procesar las solicitudes en cola. Si no hay instancias disponibles durante los 60 segundos, la solicitud falla con un código de error 429
en Cloud Run (completamente administrado).
Garantías de escalamiento
El límite máximo de instancias es un límite superior. Establecer un límite alto no significa que la revisión se escalará horizontalmente hasta la cantidad especificada de instancias de contenedor. Solo significa que la cantidad de instancias de contenedor no debe superar el límite en ningún momento.
Aumentos de tráfico
En algunos casos, como cuando ocurren aumentos repentinos de tráfico, Cloud Run for Anthos puede crear, durante un período breve, más instancias de contenedor que el valor máximo especificado. Si tu servicio no puede tolerar este comportamiento temporal, se recomienda incluir un margen de seguridad y reducir la cantidad de instancias máximas permitidas.
Implementaciones
Cuando implementas una revisión nueva, Cloud Run for Anthos migra de forma gradual el tráfico de la revisión anterior a la nueva. Debido a que se establecen límites máximos de instancias para cada revisión, es posible que excedas de manera temporal el límite especificado durante el período posterior a la implementación.
Instancias inactivas y minimización de inicios en frío
Los recursos de Kubernetes solo se consumen cuando una instancia controla una solicitud, pero no significa que Cloud Run for Anthos cierra de inmediato las instancias una vez que administraron todas las solicitudes. Para minimizar el impacto de los inicios en frío, Cloud Run for Anthos puede mantener algunas instancias inactivas. Estas instancias están listas para controlar solicitudes en caso de que se produzca un aumento de tráfico repentino.
Por ejemplo, cuando una instancia de contenedor termina de controlar las solicitudes, puede permanecer inactiva por un tiempo en caso de que se necesite controlar otra solicitud. Una instancia de contenedor inactiva puede conservar recursos, como conexiones de bases de datos abiertas. Sin embargo, para Cloud Run, la CPU no estará disponible.
Para mantener las instancias inactivas de forma permanente, usa la configuración min-instance
.
¿Qué sigue?
- Para administrar la cantidad máxima de instancias de los servicios de Cloud Run for Anthos, consulta Configura una cantidad máxima de instancias de contenedor.
- Para administrar la cantidad máxima de solicitudes simultáneas controladas por cada instancia de contenedor, consulta Configura la simultaneidad.
- Si deseas optimizar la configuración de simultaneidad, consulta las sugerencias de desarrollo para ajustar la simultaneidad.
- Si quieres especificar que una instancia inactiva se siga ejecutando a fin de minimizar la latencia o los inicios en frío en las primeras solicitudes, consulta Usa
min-instance
para habilitar instancias inactivas.