Informazioni sulla scalabilità automatica dei carichi di lavoro in base alle metriche


Questa pagina descrive i modi in cui puoi aumentare o diminuire automaticamente il numero di repliche di un determinato carico di lavoro utilizzando metriche personalizzate, esterne o Prometheus.

Perché utilizzare la scalabilità automatica in base alle metriche

Prendi in considerazione un'applicazione che estrae le attività da una coda e le completa. L'applicazione potrebbe avere un obiettivo del livello di servizio (SLO) per il tempo necessario per elaborare un'attività o per il numero di attività in attesa. Se la coda aumenta, più repliche del workload potrebbero soddisfare l'SLO dei workload. Se la coda è vuota o diminuisce più rapidamente del previsto, puoi risparmiare denaro eseguendo un numero inferiore di repliche, pur rispettando lo SLO dei carichi di lavoro.

Informazioni sulle metriche personalizzate, Prometheus ed esterne

Puoi scalare i carichi di lavoro in base a metriche personalizzate, Prometheus o esterne.

Una metrica personalizzata viene segnalata dalla tua applicazione in esecuzione in Kubernetes. Per scoprire di più, consulta Metriche personalizzate e Prometheus.

Le metriche provenienti da Managed Service per Prometheus sono considerate un tipo di metrica personalizzata.

Una metrica esterna viene segnalata da un'applicazione o un servizio non in esecuzione sul tuo cluster, ma le cui prestazioni influiscono sulla tua applicazione Kubernetes. Ad esempio, puoi utilizzare la scalabilità automatica in base a qualsiasi metrica in Cloud Monitoring, inclusi Pub/Sub o Dataflow. Le metriche Prometheus contengono dati emessi dal cluster che puoi utilizzare per la scalabilità automatica. Per scoprire di più, consulta Metriche esterne.

Metriche personalizzate e Prometheus

Ti consigliamo di utilizzare Managed Service per Prometheus per creare e gestire metriche personalizzate. Puoi utilizzare Prometheus Query Language (PromQL) per eseguire query su tutte le metriche in Monitoring. Per saperne di più, vedi Scalabilità automatica orizzontale dei pod per Managed Service per Prometheus.

La tua applicazione può segnalare una metrica personalizzata a Monitoring. Puoi configurare Kubernetes in modo che risponda a queste metriche e scalare automaticamente il tuo workload. Ad esempio, puoi scalare l'applicazione in base a metriche come query al secondo, scritture al secondo, prestazioni di rete, latenza durante la comunicazione con un'altra applicazione o altre metriche significative per il tuo workload. Per ulteriori informazioni, vedi Ottimizza la scalabilità automatica dei pod in base alle metriche.

Metriche esterne

Se devi scalare il workload in base alle prestazioni di un'applicazione o di un servizio al di fuori di Kubernetes, puoi configurare una metrica esterna. Ad esempio, potresti dover aumentare la capacità della tua applicazione di inserire i messaggi da Pub/Sub se il numero di messaggi non recapitati è in aumento. L'applicazione esterna deve esportare la metrica in un'istanza Monitoring a cui il cluster può accedere. L'andamento di ogni metrica nel tempo fa sì che Horizontal Pod Autoscaler modifichi automaticamente il numero di repliche nel workload. Per ulteriori informazioni, vedi Ottimizza la scalabilità automatica dei pod in base alle metriche.

Importare metriche in Monitoring

Per importare le metriche in Monitoring, puoi:

Passaggi successivi