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 di Prometheus.

Perché scalare automaticamente in base alle metriche

Prendiamo in considerazione un'applicazione che estrae 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 carico di lavoro potrebbero soddisfare lo SLO dei carichi di lavoro. Se la coda è vuota o diminuisce più rapidamente del previsto, potresti risparmiare eseguendo meno repliche, pur rispettando lo SLO dei carichi di lavoro.

Informazioni sulle metriche personalizzate, di Prometheus ed esterne

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

Viene riportata una metrica personalizzata dall'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 riportata da un'applicazione o un servizio non in esecuzione sul cluster, ma le cui prestazioni influiscono sulla tua applicazione Kubernetes. Ad esempio, puoi scalare automaticamente su qualsiasi metrica in Cloud Monitoring, tra cui Pub/Sub o Dataflow. Le metriche di Prometheus contengono dati omessi dal cluster che puoi usare per scalare automaticamente. Per scoprire di più, consulta Metriche esterne.

Metriche personalizzate e di Prometheus

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

La tua applicazione può segnalare una metrica personalizzata a Monitoring. Puoi configurare Kubernetes per rispondere a queste metriche e scalare automaticamente il tuo carico di lavoro. Ad esempio, puoi scalare la tua applicazione in base a metriche come query al secondo, scritture al secondo, prestazioni della rete, latenza quando comunichi con un'applicazione diversa o altre metriche pertinenti per il tuo carico di lavoro. Per ulteriori informazioni, consulta Ottimizzare la scalabilità automatica dei pod in base alle metriche.

Metriche esterne

Se hai bisogno di scalare il carico di lavoro in base alle prestazioni di un'applicazione o di un servizio al di fuori di Kubernetes, puoi configurare una metrica esterna. Ad esempio, potrebbe essere necessario aumentare la capacità della tua applicazione di importare messaggi da Pub/Sub se il numero di messaggi non recapitati è in aumento. L'applicazione esterna deve esportare la metrica in un'istanza di Monitoring a cui può accedere il cluster. La tendenza di ogni metrica nel tempo fa sì che Horizontal Pod Autoscaler modifichi automaticamente il numero di repliche nel carico di lavoro. Per ulteriori informazioni, consulta Ottimizzare la scalabilità automatica dei pod in base alle metriche.

Importa metriche in Monitoring

Per importare le metriche in Monitoring, puoi:

Passaggi successivi