Condividi tramite


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.

Diagramma che mostra una panoramica dell'architettura degli agenti Kubernetes abilitati per Azure Arc.

I passaggi di alto livello seguenti fanno riferimento alla connessione di un cluster Kubernetes ad Azure Arc:

  1. 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.

  2. 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.
  3. 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.

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.

  1. Eseguire un elenco per ottenere tutte le risorse di configurazione nel cluster di origine (il cluster da spostare) e salvare il corpo della risposta:

    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.

  2. Eliminare dal cluster Kubernetes sottostante la distribuzione Arc precedente.

  3. Con l'accesso di rete al cluster Kubernetes sottostante, connettere il cluster nella nuova area.

  4. Verificare che il cluster connesso Arc sia correttamente in esecuzione nella nuova area.

    1. Eseguire az connectedk8s show -n <connected-cluster-name> -g <resource-group> e verificare che il valore connectivityStatus sia Connected.
    2. Eseguire kubectl get deployments,pods -n azure-arc per verificare che tutti gli agenti siano stati distribuiti correttamente.
  5. 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