Configurazioni di GitOps Flux v1 con Kubernetes abilitato per Azure Arc
Importante
I documenti in questa sezione sono relativi a GitOps con Flux v1. GitOps con Flux v2 è ora disponibile per Kubernetes abilitato per Azure Arc e per i cluster del servizio Azure Kubernetes (AKS); sono disponibili altre informazioni su GitOps con Flux v2. È consigliabile eseguire la migrazione a Flux v2 il prima possibile.
Il supporto per le risorse di configurazione cluster basate su Flux v1 create prima del 1° gennaio 2024 terminerà il 24 maggio 2025. A partire dal 1° gennaio 2024, non sarà possibile creare nuove risorse di configurazione del cluster basate su Flux v1.
In relazione a Kubernetes, GitOps consente di dichiarare lo stato desiderato delle configurazioni del cluster Kubernetes (distribuzioni, spazi dei nomi e così via) in un repository Git. Questa dichiarazione è seguita da una distribuzione basata su polling e pull di queste configurazioni del cluster usando un operatore. Il repository Git può contenere:
- Manifesti in formato YAML che descrivono qualsiasi risorsa Kubernetes valida, tra cui Namespaces, ConfigMaps, Deployments, DaemonSets e così via.
- Grafici Helm per la distribuzione di applicazioni.
Flux, uno strumento open source diffuso nello spazio GitOps, può essere distribuito nel cluster Kubernetes per semplificare il flusso delle configurazioni da un repository Git a un cluster Kubernetes. Flux supporta la distribuzione del relativo operatore sia nell'ambito del cluster che nell'ambito dello spazio dei nomi. Un operatore Flux distribuito nell'ambito dello spazio dei nomi può distribuire solo gli oggetti Kubernetes all'interno di tale ambito. La possibilità di scegliere tra l'ambito del cluster o l'ambito dello spazio dei nomi consente di ottenere modelli di distribuzione multi-tenant nello stesso cluster Kubernetes.
Configurazioni
La connessione tra il cluster e un repository Git viene creata come risorsa di configurazione (Microsoft.KubernetesConfiguration/sourceControlConfigurations
) sopra la risorsa Kubernetes abilitata per Azure Arc (rappresentata da Microsoft.Kubernetes/connectedClusters
) in Azure Resource Manager.
Le proprietà delle risorse di configurazione vengono usate per distribuire l'operatore Flux nel cluster con i parametri appropriati, ad esempio il repository Git da cui eseguire il pull dei manifesti e l'intervallo di polling in corrispondenza del quale eseguire il pull. I dati inattivi della risorsa di configurazione vengono archiviati crittografati in un database Azure Cosmos DB per garantirne la riservatezza.
L'esecuzione di config-agent
nel cluster è responsabile delle operazioni seguenti:
- Rilevamento delle risorse di configurazione nuove o aggiornate nella risorsa Kubernetes abilitata per Azure Arc.
- Distribuzione di un operatore Flux per controllare il repository Git per ogni risorsa di configurazione.
- Applicazione di eventuali aggiornamenti a qualsiasi risorsa di configurazione.
È possibile creare più risorse di configurazione nell'ambito dello spazio dei nomi nello stesso cluster Kubernetes abilitato per Azure Arc per ottenere la multi-tenancy.
Nota
config-agent
monitora le risorse di configurazione nuove o aggiornate da rendere disponibili nella risorsa Kubernetes abilitata per Azure Arc. Gli agenti devono essere connessi per essere in grado di passare lo stato al cluster. Se gli agenti non riescono a connettersi ad Azure, si verifica un ritardo nella propagazione dello stato desiderato al cluster.- Gli input sensibili dei clienti, ad esempio chiavi private, contenuti di host noti, nomi utente HTTPS e token/password, non vengono archiviati per più di 48 ore nei servizi Kubernetes abilitati per Azure Arc. Se si usano input sensibili per le configurazioni, portare i cluster online il più regolarmente possibile.
Applicare configurazioni su larga scala
Poiché Azure Resource Manager gestisce le configurazioni, è possibile automatizzare la creazione della configurazione in tutte le risorse Kubernetes abilitate per Azure Arc usando Criteri di Azure, nell'ambito di una sottoscrizione o di un gruppo di risorse.
Questa imposizione su larga scala garantisce che una configurazione di base comune (contenente configurazioni come ClusterRoleBindings, RoleBindings e NetworkPolicy) possa essere applicata in un'intera flotta o nell'inventario dei cluster Kubernetes abilitati per Azure Arc.
Importante
I documenti in questa sezione sono relativi a GitOps con Flux v1. GitOps con Flux v2 è ora disponibile per Kubernetes abilitato per Azure Arc e per i cluster del servizio Azure Kubernetes (AKS); sono disponibili altre informazioni su GitOps con Flux v2. È consigliabile eseguire la migrazione a Flux v2 il prima possibile.
Il supporto per le risorse di configurazione cluster basate su Flux v1 create prima del 1° gennaio 2024 terminerà il 24 maggio 2025. A partire dal 1° gennaio 2024, non sarà possibile creare nuove risorse di configurazione del cluster basate su Flux v1.
Passaggi successivi
- Usare la guida introduttiva per connettere un cluster Kubernetes ad Azure Arc.
- Creare configurazioni nel cluster Kubernetes abilitato per Azure Arc.
- Usare Criteri di Azure per applicare le configurazioni su larga scala.