Scalabilità automatica di istanze di container

In Cloud Run for Anthos, ogni revisione viene scalata automaticamente al numero di istanze di container necessarie per gestire tutte le richieste in entrata. Quando una revisione non riceve traffico, per impostazione predefinita viene scalata a zero istanze di container. Tuttavia, se vuoi, puoi modificare questa impostazione predefinita per specificare un'istanza da mantenere inattiva o "calda" utilizzando l'impostazione istanze minime.

Il numero di istanze pianificate è influenzato da:

In alcuni casi, potresti voler limitare il numero totale di istanze di container che possono essere avviate, per motivi di controllo dei costi o per una maggiore compatibilità con altre risorse utilizzate dal servizio. Ad esempio, il servizio Cloud Run for Anthos potrebbe interagire con un database in grado di gestire solo un determinato numero di connessioni aperte simultanee.

Informazioni sul numero massimo di istanze di container

Puoi utilizzare l'impostazione Numero massimo di istanze di container per limitare il numero totale di istanze che possono essere avviate in parallelo, come documentato in Impostazione di un numero massimo di istanze di container.

Superamento del numero massimo di istanze

In circostanze normali, la revisione si ridimensiona creando nuove istanze per gestire il carico del traffico in entrata. Tuttavia, quando imposti un limite massimo di istanze, in alcuni casi il numero di istanze non soddisfa il carico di traffico. In questo caso, le richieste in entrata rimangono in coda per un massimo di 60 secondi. Durante questa finestra di 60 secondi, se un'istanza completa l'elaborazione delle richieste, diventa disponibile per l'elaborazione delle richieste in coda. Se non diventano disponibili istanze durante la finestra di 60 secondi, la richiesta non riesce con un codice di errore 429 su Cloud Run.

Garanzie di scalabilità

Il limite massimo di istanze è un limite superiore. L'impostazione di un limite alto non implica che la revisione verrà scalata fino al numero specificato di istanze di container. Significa solo che il numero di istanze di container in qualsiasi momento non deve superare il limite.

Picchi di traffico

In alcuni casi, ad esempio in caso di picchi di traffico rapidi, Cloud Run for Anthos può creare, per un breve periodo di tempo, più istanze di container rispetto al valore massimo specificato. Se il tuo servizio non è in grado di tollerare questo comportamento temporaneo, puoi prendere in considerazione un margine di sicurezza e impostare un valore massimo di istanze inferiore.

Deployment

Quando esegui il deployment di una nuova revisione, Cloud Run for Anthos esegue gradualmente la migrazione del traffico dalla revisione precedente a quella nuova. Poiché per ogni revisione vengono impostati limiti massimi di istanze, potresti superare temporaneamente il limite specificato durante il periodo successivo al deployment.

Istanze inattive e riduzione al minimo degli avvii a freddo

Le risorse Kubernetes vengono consumate solo quando un'istanza gestisce una richiesta, ma questo non significa che Cloud Run for Anthos chiude immediatamente le istanze una volta che hanno gestito tutte le richieste. Per ridurre al minimo l'impatto degli avvii a freddo, Cloud Run for Anthos può mantenere alcune istanze inattive. Queste istanze sono pronte a gestire le richieste in caso di un picco di traffico improvviso.

Ad esempio, quando un'istanza di container ha terminato di gestire le richieste, potrebbe rimanere inattiva per un periodo di tempo qualora fosse necessario gestire un'altra richiesta. Un'istanza di container inattivo potrebbe conservare risorse, ad esempio connessioni di database aperte. Tuttavia, per Cloud Run, la CPU non sarà disponibile.

Per mantenere disponibili le istanze inattive definitivamente, utilizza l'impostazione min-instance.

Passaggi successivi