Panoramica dell'agente Kubernetes abilitato per Azure Arc
Kubernetes abilitato per Azure Arc offre un piano di controllo centralizzato e coerente per gestire criteri, governance e sicurezza nei cluster Kubernetes in ambienti diversi.
Gli agenti Azure Arc vengono distribuiti nei cluster Kubernetes durante la connessione ad Azure Arc. Questo articolo offre una panoramica di questi agenti.
Distribuire agenti nel cluster
La maggior parte dei data center locali applica regole di rete rigorose che impediscono la comunicazione in ingresso nel firewall della rete. Kubernetes abilitato per Azure Arc funziona con queste restrizioni senza la necessità di porte in ingresso nel firewall. Gli agenti Azure Arc richiedono la comunicazione in uscita con un elenco definito di endpoint di rete.
Questo diagramma offre una visualizzazione di livello elevato dei componenti di Azure Arc. I cluster Kubernetes nei data center locali o in cloud diversi sono connessi ad Azure tramite gli agenti Azure Arc. Questa connessione consente la gestione dei cluster usando gli strumenti di gestione e i servizi di Azure. È anche possibile accedere ai cluster tramite strumenti di gestione offline.
I passaggi di alto livello seguenti fanno riferimento alla connessione di un cluster Kubernetes ad Azure Arc:
Creare un cluster Kubernetes nella scelta dell'infrastruttura (VMware vSphere, Amazon Web Services, Google Cloud Platform o qualsiasi distribuzione Kubernetes certificata Cloud Native Computing Foundation (CNCF). Il cluster deve esistere già prima di connetterlo ad Azure Arc.
Avviare la registrazione Azure Arc per il cluster. Questo processo distribuisce il grafico Helm dell'agente nel cluster. Dopodiché, i nodi del cluster avviano una comunicazione in uscita al Registro Container Microsoft, eseguendo il pull delle immagini necessarie per creare gli agenti seguenti nello spazio dei nomi
azure-arc
:Agente Descrizione deployment.apps/clusteridentityoperator
Kubernetes abilitato per Azure Arc attualmente supporta solo le identità assegnate dal sistema. clusteridentityoperator
avvia la prima comunicazione in uscita. La prima comunicazione in uscita gestisce il certificato di identità del servizio gestita (MSI) usato da altri agenti per le comunicazioni con Azure.deployment.apps/config-agent
Verifica nel cluster connesso le risorse di configurazione del controllo del codice sorgente applicate al cluster. Aggiorna lo stato di conformità. deployment.apps/controller-manager
Operatore di operatori che orchestra le interazioni tra i componenti di Azure Arc. deployment.apps/metrics-agent
Raccoglie le metriche di altri agenti Azure Arc per verificarne prestazioni ottimali. deployment.apps/cluster-metadata-operator
Raccoglie i metadati del cluster, tra cui la versione del cluster, il numero di nodi e la versione dell'agente Azure Arc. deployment.apps/resource-sync-agent
Sincronizza con Azure i metadati del cluster sopra indicati. deployment.apps/flux-logs-agent
Raccoglie i log degli operatori Flux distribuiti nel contesto della configurazione del controllo del codice sorgente. deployment.apps/extension-manager
Installa e gestisce il ciclo di vita dei grafici Helm dell'estensione. deployment.apps/kube-aad-proxy
Usato per l'autenticazione delle richieste inviate al cluster tramite la funzionalità di connessione cluster. deployment.apps/clusterconnect-agent
Agente proxy inverso che consente alla funzionalità di connessione cluster di fornire l'accesso all'oggetto apiserver
del cluster. Componente facoltativo distribuito solo se la funzionalità di connessione cluster è abilitata.deployment.apps/guard
Server webhook di autenticazione e autorizzazione usato per Il controllo degli accessi in base al ruolo di Microsoft Entra. Componente facoltativo distribuito solo se il controllo degli accessi in base al ruolo di Azure è abilitato nel cluster. Quando lo stato di tutti i pod dell'agente Kubernetes abilitato per Azure Arc è
Running
, verificare che il cluster sia connesso ad Azure Arc. Dovrebbe essere visualizzato:- Una risorsa Kubernetes
connectedClusters
abilitata per Azure Arc in Azure Resource Manager. Azure tiene traccia di questa risorsa come proiezione del cluster Kubernetes gestito dal cliente, piuttosto che tracciare il cluster Kubernetes effettivo. - I metadati del cluster, ad esempio la versione di Kubernetes, la versione dell'agente e il numero di nodi, vengono visualizzati nella risorsa Kubernetes abilitata per Azure Arc come metadati.
- Una risorsa Kubernetes
Per altre informazioni sulla distribuzione degli agenti in un cluster, vedere Avvio rapido: Connettere un cluster Kubernetes esistente ad Azure Arc.
Spostare cluster Kubernetes abilitati per Arc tra aree di Azure
In alcune circostanze è possibile spostare i cluster di Kubernetes abilitato per Arc in un'altra area. Ad esempio è possibile distribuire funzionalità o servizi disponibili solo in aree specifiche oppure modificare le aree a causa di requisiti di governance o considerazioni sulla pianificazione della capacità.
Quando si sposta un cluster connesso in una nuova area, si elimina la risorsa di Azure Resource Manager connectedClusters
nell'area di origine, quindi si distribuiscono gli agenti per ricreare la risorsa connectedClusters
nell'area di destinazione. Per le configurazioni del controllo del codice sorgente, le configurazioni di Flux e le estensioni all'interno del cluster, è necessario salvare i dettagli sulle risorse, quindi ricreare le risorse figlio nella nuova risorsa cluster.
Prima di iniziare, assicurarsi che le risorse Kubernetes abilitate per Azure Arc (Microsoft.Kubernetes/connectedClusters
) e le risorse di configurazione Kubernetes abilitate per Azure Arc (Microsoft.KubernetesConfiguration/SourceControlConfigurations
, Microsoft.KubernetesConfiguration/Extensions
, Microsoft.KubernetesConfiguration/FluxConfigurations
) siano supportate nell'area di destinazione.
Eseguire un elenco per ottenere tutte le risorse di configurazione nel cluster di origine (il cluster da spostare) e salvare il corpo della risposta:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
Nota
LIST/GET delle risorse di configurazione non restituiscono
ConfigurationProtectedSettings
. In questi casi l'unica opzione consiste nel salvare il corpo della richiesta originale e riutilizzarla durante la creazione delle risorse nella nuova area.Eliminare dal cluster Kubernetes sottostante la distribuzione Arc precedente.
Con l'accesso di rete al cluster Kubernetes sottostante, connettere il cluster nella nuova area.
Verificare che il cluster connesso Arc sia correttamente in esecuzione nella nuova area.
- Eseguire
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
e verificare che il valoreconnectivityStatus
siaConnected
. - Eseguire
kubectl get deployments,pods -n azure-arc
per verificare che tutti gli agenti siano stati distribuiti correttamente.
- Eseguire
Usando il corpo della risposta salvato, ricreare ognuna delle risorse di configurazione ottenute nel comando LIST dal cluster di origine nel cluster di destinazione. Per confermare, confrontare i risultati di un elenco di tutte le risorse di configurazione nel cluster di destinazione con la risposta LIST originale del cluster di origine.
Passaggi successivi
- Consultare la guida introduttiva per connettere un cluster Kubernetes ad Azure Arc.
- Visualizzare le note sulla versione per visualizzare i dettagli sulle versioni più recenti dell'agente.
- Informazioni sull'aggiornamento degli agenti Kubernetes abilitati per Azure Arc.
- Altre informazioni sulla creazione di connessioni tra il cluster e un repository Git come una risorsa di configurazione con Kubernetes abilitato per Azure Arc.