Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Il componente aggiuntivo KEDA per AKS non supporta attualmente la modifica delle richieste o dei limiti della CPU e di altri valori Helm per il Metrics Server o l'Operator. Tenere presente questa limitazione quando si usa il componente aggiuntivo. In caso di domande, è possibile contattare qui.
La scalabilità automatica di Kubernetes basata su eventi (KEDA) è un componente semplice e leggero che si impegna a rendere semplice la scalabilità automatica delle applicazioni ed è un progetto laureato della Cloud Native Computing Foundation (CNCF).
Applica la scalabilità automatica guidata dagli eventi per dimensionare l'applicazione in modo da soddisfare la domanda in maniera sostenibile e conveniente con scalabilità orizzontale a zero.
Il componente aggiuntivo KEDA semplifica ulteriormente la distribuzione di un'installazione KEDA gestita, offrendo un catalogo completo di scaler KEDA di Azure con cui puoi dimensionare le tue applicazioni nel cluster dei servizi Azure Kubernetes (AKS).
Nota
KEDA versione 2.15+ introduce una modifica significativa che elimina il supporto per le identità dei pod. Se si usa l'identità del pod, è consigliabile passare all'identità del carico di lavoro per l'autenticazione. Anche se il componente aggiuntivo gestito KEDA non esegue attualmente KEDA versione 2.15+, inizierà a eseguirlo nell'anteprima di AKS versione 1.32.
Per ulteriori informazioni su come ridimensionare in modo sicuro le applicazioni con identità del carico di lavoro, leggi la nostra esercitazione. Per visualizzare la politica di modifica/deprecazione di KEDA, leggi la documentazione ufficiale.
Architettura
KEDA offre due componenti principali:
-
L'operatore KEDA consente agli utenti finali di ridimensionare i carichi di lavoro da 0 a N istanze con supporto per Deployment Kubernetes, Job,
StatefulSets
, o qualsiasi risorsa personalizzata che definisce la sottorisorsa/scale
. - Il server delle metriche espone metriche esterne a Horizontal Pod Autoscaler (HPA) in Kubernetes per scopi di scalabilità automatica, ad esempio messaggi in un argomento Kafka o numero di eventi in un hub eventi di Azure. A causa delle limitazioni upstream, KEDA deve essere l'unica scheda delle metriche esterna installata.
Altre informazioni sul funzionamento di KEDA sono disponibili nella documentazione ufficiale di KEDA.
Installazione
KEDA può essere aggiunto al cluster del servizio Azure Kubernetes (AKS) abilitando il componente aggiuntivo KEDA usando un modello di ARM o l'interfaccia della riga di comando di Azure.
Il componente aggiuntivo KEDA fornisce un'installazione completamente supportata di KEDA integrata con AKS.
Funzionalità e caratteristiche
KEDA offre le seguenti funzionalità e caratteristiche:
- Creare applicazioni sostenibili e convenienti con scalabilità a zero
- Dimensionare i carichi di lavoro delle applicazioni per soddisfare la domanda usando un catalogo completo di scaler KEDA di Azure
- Ridimensionare automaticamente le applicazioni con
ScaledObjects
, come i Deployment,StatefulSets
o qualsiasi risorsa personalizzata che definisce la sottorisorsa/scale
- Dimensionare automaticamente carichi di lavoro simili a processi con
ScaledJobs
- Usare la sicurezza di livello di produzione separando l'autenticazione con scalabilità automatica dai carichi di lavoro
- Scaler esterno Bring-Your-Own per usare decisioni di scalabilità automatica personalizzate
- Eseguire l'integrazione con l'ID del carico di lavoro di Microsoft Entra per l'autenticazione
Nota
Se prevedi di usare l'identità del carico di lavoro, abilita il componente aggiuntivo identità del carico di lavoro prima di abilitare il componente aggiuntivo KEDA.
Limitazioni dei componenti aggiuntivi
Il componente aggiuntivo KEDA di AKS presenta le limitazioni seguenti:
- Il componente aggiuntivo HTTP di KEDA (anteprima) per scalare i carichi di lavoro HTTP non è installato con l'estensione, ma può essere distribuito separatamente.
- Lo scaler esterno di KEDA per Azure Cosmos DB per la scalabilità in base al feed di modifiche di Azure Cosmos DB non è installato con l'estensione, ma può essere distribuito separatamente.
- Nel cluster di Kubernetes è consentito un solo server delle metriche esterno. Per questo motivo, il componente aggiuntivo KEDA deve essere l'unico server delle metriche esterno all'interno del cluster.
- Le installazioni multiple KEDA non sono supportate
- Non è consigliabile combinare KEDA
ScaledObject
con un Horizontal Pod Autoscaler (HPA) per ridimensionare lo stesso workload. Si concorrono tra loro perché KEDA usa horizontal pod autoscaler (HPA) in background e comporta un comportamento di ridimensionamento dispari.- Se prima viene creato un HPA, viene creato un KEDA
ScaledObject
e non verrà creato KEDAScaledObject
. - Se viene creato prima un keda
ScaledObject
e quindi viene creato un HPA, la creazione di HPA non viene bloccata.
- Se prima viene creato un HPA, viene creato un KEDA
Per domande generali su KEDA, è consigliabile visitare la panoramica delle domande frequenti.
Nota
Se stai usando l'ID del carico di lavoro Microsoft Entra e abiliti KEDA prima dell'ID carico di lavoro, devi riavviare i pod dell'operatore KEDA in modo da poter inserire le variabili di ambiente appropriate:
Riavvia i pod eseguendo
kubectl rollout restart deployment keda-operator -n kube-system
.Ottieni i pod dell'operatore KEDA usando
kubectl get pod -n kube-system
e cercando i pod che iniziano conkeda-operator
.Verifica l'esito positivo dell'inserimento delle variabili di ambiente eseguendo
kubectl describe pod <keda-operator-pod> -n kube-system
. InEnvironment
dovresti visualizzare i valori perAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
eAZURE_AUTHORITY_HOST
.
Versioni di Kubernetes e KEDA supportate
La versione di Kubernetes del tuo cluster determina quale versione di KEDA è installata nel tuo cluster AKS. Per vedere quale versione di KEDA si riferisce a ognuna delle versioni di AKA, vedi la colonna dei componenti aggiuntivi gestiti da AKS della tabella delle versioni del componente Kubernetes.
Per le versioni di Kubernetes GA, AKS offre il supporto completo della relativa versione secondaria KEDA nella tabella. Le versioni in anteprima di Kubernetes e la patch KEDA più recente sono parzialmente coperte dal supporto clienti con il massimo impegno. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:
- Criteri di supporto del Servizio Azure Kubernetes (AKS)
- Domande frequenti relative al supporto tecnico Azure
Passaggi successivi
- Abilitare il componente aggiuntivo KEDA con un modello di ARM
- Abilitare il componente aggiuntivo KEDA con l'interfaccia della riga di comando di Azure
- Risolvere i problemi relativi ai componenti aggiuntivi KEDA
- Dimensionare automaticamente un ruolo di lavoro .NET Core che elabora i messaggi della coda del bus di servizio di Azure
- Visualizzare la documentazione upstream di KEDA
Azure Kubernetes Service