Usare GitOps per configurare i cluster Kubernetes abilitati per Azure Arc

Completato

Il vantaggio principale di Azure Arc è che consente di implementare facilmente i principi di DevOps che applicano alle operazioni procedure di sviluppo consolidate. DevOps aumenta l'agilità senza compromettere la stabilità dell'ambiente IT.

Kubernetes abilitato per Azure Arc supporta GitOps, una procedura DevOps che semplifica le versioni dell'applicazione riducendo il lavoro di distribuzione manuale.

In questa unità vengono fornite informazioni su GitOps e su come configurarlo per i cluster Kubernetes abilitati per Azure Arc.

GitOps per Kubernetes abilitato per Arc

GitOps semplifica la standardizzazione delle configurazioni Kubernetes nell'organizzazione, tra cui Kubernetes abilitato per Arc. Un repository o altri file di origine file ospitano file di configurazione che rappresentano lo stato previsto di una risorsa. Ad esempio, una configurazione di base potrebbe includere il modello di delega, il monitoraggio e le impostazioni di registrazione e le caratteristiche dei servizi a livello di cluster.

Un agente in esecuzione nel cluster Kubernetes monitora lo stato del repository. Quando si verifica una modifica della configurazione, l'agente esegue il pull dei file aggiornati nel cluster e applica la nuova configurazione, assicurandosi che il cluster rimanga nello stato desiderato.

I cluster Kubernetes abilitati per Azure Arc si basano su Flux, un operatore di distribuzione GitOps open source noto che automatizza le distribuzioni di configurazione nel cluster. Flux supporta origini file comuni come repository Git, repository Helm e bucket e supporta i tipi di modello di configurazione YAML, Helm e Kustomize.

Il diagramma seguente illustra un flusso GitOps che usa Flux per distribuire configurazioni del cluster e aggiornamenti dell'applicazione.

Diagram of the GitOps flow showing an application update.

Configurare GitOps

GitOps associa il cluster Kubernetes abilitato per Arc a una o più origini file, ad esempio un repository Git. Ogni repository può contenere la configurazione di qualsiasi risorsa di Kubernetes valida, ad esempio spazi dei nomi o distribuzioni sotto forma di file manifesto.

Il diagramma seguente mostra il processo di applicazione della configurazione basata su GitOps a più cluster con abilitazione di Azure Arc.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps è abilitato in un cluster Kubernetes come risorsa di estensione del cluster Microsoft.KubernetesConfiguration/extensions/microsoft.flux. Per creare fluxConfigurations, l'estensione microsoft.flux deve essere installata nel cluster. Questa estensione viene installata automaticamente quando si crea la prima istanza Microsoft.KubernetesConfiguration/fluxConfigurations in un cluster. È anche possibile installarla manualmente prima di creare le configurazioni.

Ogni associazione tra una configurazione del cluster Kubernetes con abilitazione di Azure Arc e il repository GitOps corrispondente risiede in Azure, come parte della risorsa di Azure del cluster Kubernetes con abilitazione di Azure Arc. È possibile configurare tale associazione tramite le interfacce di gestione di Azure, ad esempio il portale di Azure o l'interfaccia della riga di comando di Azure.

Usare i passaggi generali seguenti per implementare GitOps con un cluster Kubernetes abilitato per Azure Arc.

  1. Usare l'estensione dell'interfaccia della riga di comando di Azure k8s-configuration per applicare una configurazione di Flux e abilitare GitOps nel cluster Kubernetes con abilitazione di Arc.
  2. Convalidare la configurazione per confermare la corretta creazione. La risorsa di configurazione viene aggiornata con lo stato di conformità, i messaggi e le informazioni di debug.

Dopo aver applicato la configurazione, è possibile usare il portale di Azure per visualizzare i dettagli sulla conformità. È anche possibile creare, aggiornare ed eliminare le configurazioni GitOps nel portale di Azure.

Usare Criteri di Azure per automatizzare la configurazione

È possibile usare Criteri di Azure per automatizzare il processo di configurazione, in modo da poterlo applicare in modo coerente su larga scala. Prima di assegnare un criterio per configurare i cluster, è necessario assicurarsi che l'estensione Flux venga creata nei cluster. È possibile eseguire questa operazione assegnando prima la definizione dei criteri Configurare l'installazione dell'estensione Flux nel cluster Kubernetes, che garantisce l'installazione dell'estensione.

La creazione dell'assegnazione di Criteri di Azure nel portale di Azure è costituita dai passaggi generali seguenti:

  1. Nel portale di Azure visualizzare tutte le definizioni dei criteri cercando e selezionando Criteri, quindi selezionando Definizioni nel menu a sinistra della pagina Criteri.
  2. Cercare Configurare i cluster Kubernetes con la configurazione GitOps specificata e selezionare una delle definizioni dei criteri predefinite.
  3. Selezionare Assegna e creare un'assegnazione di criteri specificando le impostazioni per ambito, parametri e correzione.
  4. Seleziona Rivedi e crea e quindi seleziona Crea.

L'assegnazione del criterio abiliterà automaticamente GitOps per ogni cluster Kubernetes con abilitazione di Azure Arc creato nell'ambito dell'assegnazione. Per i cluster esistenti, è necessario eseguire manualmente l'attività di correzione.

Altre informazioni su Criteri di Azure verranno fornite nell'unità successiva.