Estensioni dei cluster
I grafici Helm consentono di gestire le applicazioni Kubernetes fornendo i blocchi predefiniti necessari per definire, installare e aggiornare anche le più complesse applicazioni Kubernetes.
La funzionalità di estensione del cluster si basa sui componenti di creazione del pacchetto di Helm. Con le estensioni ci si attiene a un'esperienza guidata da Azure Resource Manager per l'installazione e la gestione del ciclo di vita di funzionalità diverse sulla base del cluster Kubernetes.
Un operatore cluster o un amministratore può usare la funzionalità delle estensioni del cluster per:
- Installare e gestire le offerte di gestione chiavi, dati e applicazioni nel cluster Kubernetes.
- Usare Criteri di Azure per automatizzare la distribuzione su larga scala delle estensioni del cluster in tutti i cluster nell'ambiente.
- Sottoscrivere training di rilascio (ad esempio, anteprima o stabile) per ogni estensione.
- Configurare l'aggiornamento automatico per le estensioni o bloccare una versione specifica e aggiornare manualmente le versioni.
- Aggiornare le proprietà o eliminare le istanze dell'estensione.
Le estensioni sono disponibili per supportare un'ampia gamma di servizi e scenari di Azure. Per un elenco delle estensioni attualmente supportate, vedere Estensioni disponibili per i cluster di Kubernetes abilitato per Azure Arc.
Architettura
L'istanza dell'estensione del cluster viene creata come una risorsa Azure Resource Manager di estensione (Microsoft.KubernetesConfiguration/extensions
) sopra la risorsa di Kubernetes abilitato per Azure Arc (rappresentata da Microsoft.Kubernetes/connectedClusters
) in Azure Resource Manager.
Questa rappresentazione in Azure Resource Manager consente di creare criteri che controllano tutte le risorse di Kubernetes abilitato per Azure Arc con o senza un'estensione del cluster specifica. Dopo aver determinato in quali cluster non sono presenti le estensioni del cluster con i valori di proprietà desiderati, è possibile correggere queste risorse non conformi usando Criteri di Azure.
L'esecuzione di config-agent
nel cluster tiene traccia delle risorse di estensione nuove e aggiornate nella risorsa di Kubernetes abilitato per Azure Arc. L'agente extensions-manager
in esecuzione nel cluster legge il tipo di estensione che deve essere installato, quindi esegue il pull del grafico Helm associato dal Registro Azure Container o dal Registro Azure Container e lo installa nel cluster.
I componenti config-agent
e extensions-manager
in esecuzione nel cluster gestiscono gli aggiornamenti dell'istanza dell'estensione, gli aggiornamenti della versione e l'eliminazione dell'istanza di estensione. Questi agenti usano l'identità gestita assegnata dal sistema del cluster per comunicare in modo sicuro con i servizi di Azure.
Nota
config-agent
verifica la presenza di istanze di estensione nuove o aggiornate nel cluster Kubernetes abilitato per Azure Arc. Gli agenti devono essere connessi per essere in grado di passare lo stato desiderato dell'estensione al cluster. Se gli agenti non riescono a connettersi ad Azure, la propagazione dello stato desiderato nel cluster viene ritardata.
Le impostazioni di configurazione protette di un'istanza di estensione vengono archiviate per un massimo di 48 ore nei servizi di Kubernetes abilitato per Azure Arc. Di conseguenza se il cluster rimane disconnesso durante le 48 ore dopo la creazione della risorsa di estensione in Azure, l'estensione passa da uno stato Pending
a uno stato Failed
. Per evitare questo problema è consigliabile mettere i cluster regolarmente online.
Importante
Attualmente le estensioni del cluster di Kubernetes abilitato per Azure Arc non sono supportate nei cluster basati su ARM64, ad eccezione di Flux (GitOps). Per installare e usare altre estensioni del cluster, il cluster deve avere almeno un nodo del sistema operativo e del tipo di architettura linux/amd64
.
Ambito dell'estensione
Ogni tipo di estensione definisce l'ambito in cui opera nel cluster. Le installazioni di estensioni nei cluster di Kubernetes abilitato per Arc sono cluster con ambito o cluster con ambito spazio dei nomi.
Un'estensione con ambito cluster verrà installata nell'oggetto specificato durante la creazione dell'estensione release-namespace
. In genere solo un'istanza dell'estensione con ambito cluster e i relativi componenti, ad esempio pod, operatori e definizioni di risorse personalizzate (CRD),vengono installati nello spazio dei nomi delle versioni nel cluster.
Un'estensione con ambito spazio dei nomi può essere installata in uno spazio dei nomi specificato usando la proprietà –namespace
. Poiché l'estensione può essere distribuita in un ambito dello spazio dei nomi, nel cluster possono essere eseguite più istanze dell'estensione con ambito spazio dei nomi e i relativi componenti. Ogni istanza dell'estensione dispone delle autorizzazioni dello spazio dei nomi in cui viene distribuita. Tutte le estensioni precedenti sono con ambito cluster, ad eccezione di Griglia di eventi in Kubernetes.
Tutte le estensioni attualmente disponibili sono con ambito cluster, ad eccezione di Gestione API di Azure in Azure Arc.
Passaggi successivi
- Usare la guida introduttiva per connettere un cluster Kubernetes ad Azure Arc.
- Distribuire le estensioni del cluster nel cluster Kubernetes abilitato per Azure Arc.