Concetto - Opzioni di ridimensionamento di Kubernetes

Completato

A volte non è sufficiente ridimensionare il numero di pod per gestire l'aumento della domanda. Per adattarsi alle variazioni delle richieste delle applicazioni, ad esempio tra l’orario lavorativo diurno e la sera o il fine settimana, è spesso necessario trovare il modo di adattare automaticamente i cluster.

Opzioni di ridimensionamento di Kubernetes

I cluster Kubernetes possono essere ridimensionati usando uno dei componenti seguenti:

  • L'utilità di scalabilità automatica del cluster, che cerca i pod che non possono essere pianificati nei nodi a causa di vincoli delle risorse. Il cluster aumenta automaticamente il numero di nodi per soddisfare la domanda.
  • L'utilità di scalabilità automatica orizzontale dei pod (HPA), che usa il server delle metriche in un cluster Kubernetes per monitorare la richiesta di risorse dei pod. Se un'applicazione richiede più risorse, il numero di pod viene aumentato automaticamente per soddisfare la domanda.

Sia HPA che l'utilità di scalabilità automatica dei cluster possono anche ridurre il numero di pod e nodi in base alle esigenze. L'utilità di scalabilità automatica del cluster riduce il numero di nodi quando viene rilevato un periodo di tempo con capacità inutilizzata. Tutti i pod in un nodo che l'utilità di scalabilità automatica del cluster deve rimuovere vengono pianificati in modo sicuro altrove nel cluster.

L'utilità di scalabilità automatica del cluster potrebbe non essere in grado di ridurre le prestazioni in situazioni in cui i pod non possono spostarsi, ad esempio:

  • Un pod viene creato direttamente e non è supportato da un oggetto controller, come una distribuzione o un set di repliche.
  • Un budget di interruzione dei pod (PDB) troppo restrittivo e che non permette la riduzione del numero di pod sotto una determinata soglia.
  • Un pod che utilizza selettori di nodo o anti-affinità impossibili da rispettare se pianificati in un nodo diverso.

Uso di KEDA con HPA

KEDA funge da API per le metriche personalizzate, usando le utilità di scalabilità automatica per esporre le metriche all'HPA, semplificando il processo di sviluppo di un server di metriche.

Le utilità di scalabilità automatica forniscono metriche da varie origini all'HPA. KEDA supporta un'ampia gamma di utilità di scalabilità, tra cui:

  • Apache Kafka
  • AWS CloudWatch
  • AWS Kinesis Stream
  • AWS SQS Queue
  • Archiviazione BLOB di Azure
  • Hub eventi di Azure
  • Analisi dei log di Azure
  • Monitoraggio di Azure
  • Bus di servizio di Azure
  • Coda di archiviazione di Azure
  • Google Cloud Platform Pub/Sub
  • IBM MQ
  • InfluxDB
  • NATS Streaming
  • OpenStack Swift
  • PostgreSQL
  • Prometheus
  • Coda RabbitMQ
  • Elenchi Redis

Per l'elenco completo, vedere Utilità di scalabilità automatica attualmente disponibili per KEDA.

Verificare le conoscenze

1.

Il carico di lavoro esegue una trasformazione di foto a utilizzo elevato della CPU. Quale opzione di ridimensionamento è consigliabile scegliere?

2.

Il cluster si avvicina all'uso di tutte le risorse disponibili durante le ore di punta. Quale opzione di ridimensionamento è consigliabile usare?

3.

Il servizio elabora i messaggi da una coda Apache Kafka. Quale opzione di ridimensionamento è consigliabile scegliere?