Distribuire le applicazioni in modo coerente su larga scala usando configurazioni di Flux v2 e Criteri di Azure

È possibile usare Criteri di Azure per applicare configurazioni di Flux v2 (Microsoft.KubernetesConfiguration/fluxConfigurationstipo di risorsa) su larga scala nei cluster Kubernetes abilitati per Azure Arc () o del servizio Azure Kubernetes (Microsoft.Kubernetes/connectedClustersMicrosoft.ContainerService/managedClusters).

Per usare Criteri di Azure, selezionare una definizione dei criteri predefinita e creare un'assegnazione di criteri. È possibile cercare il flusso per trovare tutte le definizioni dei criteri Flux v2. Quando si crea l'assegnazione di criteri:

  1. Impostare l'ambito per l'assegnazione.
    • L'ambito sarà tutti i gruppi di risorse in una sottoscrizione o in un gruppo di risorse o in gruppi di risorse specifici.
  2. Impostare i parametri per la configurazione di Flux v2 che verrà creata.

Dopo aver creato l'assegnazione, il motore di Criteri di Azure identifica tutti i cluster Kubernetes abilitati per Azure Arc che si trovano nell'ambito e applica la configurazione GitOps a ogni cluster.

Per abilitare la separazione dei problemi, è possibile creare più assegnazioni di criteri, ognuna con una configurazione Flux v2 diversa che punta a un'origine diversa. Ad esempio, un repository Git può essere usato dagli amministratori del cluster e altri repository possono essere usati dai team dell'applicazione.

Suggerimento

Per questi scenari sono disponibili definizioni di criteri predefinite:

  • Installazione dell'estensione Flux (necessaria per tutti gli scenari): Configure installation of Flux extension on Kubernetes cluster
  • Configurazione del flusso usando il repository Git pubblico (in genere uno scenario di test): Configure Kubernetes clusters with Flux v2 configuration using public Git repository
  • Configurazione del flusso tramite repository Git privato con autenticazione SSH: Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets
  • Configurazione del flusso tramite repository Git privato con autenticazione HTTPS: Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets
  • Configurazione del flusso usando il repository Git privato con l'autenticazione del certificato CA HTTPS: Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate
  • Configurazione del flusso tramite repository Git privato con segreto K8s locale: Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets
  • Configurazione del flusso usando l'origine del bucket privato e i segreti di KeyVault: Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault
  • Configurazione del flusso usando l'origine bucket privata e il segreto K8s locale: Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets

Prerequisiti

Verificare di disporre Microsoft.Authorization/policyAssignments/write delle autorizzazioni per l'ambito (sottoscrizione o gruppo di risorse) in cui si creerà questa assegnazione di criteri.

Creare un'assegnazione di criteri

  1. Nella portale di Azure passare a Criteri.
  2. Nella sezione Creazione della barra laterale selezionare Definizioni.
  3. Nella categoria "Kubernetes" scegliere la definizione predefinita dei criteri predefinita "Configurare i cluster Kubernetes con la configurazione GitOps specificata senza segreti".
  4. Selezionare Assegna.
  5. Impostare l'ambito sul gruppo di gestione, la sottoscrizione o il gruppo di risorse a cui verrà applicata l'assegnazione dei criteri.
    • Se si desidera escludere le risorse dall'ambito dell'assegnazione dei criteri, impostare Esclusioni.
  6. Assegnare all'assegnazione dei criteri un nome e una descrizione facilmente identificabili.
  7. Assicurarsi che l'applicazione dei criteri sia impostata su Abilitato.
  8. Selezionare Avanti.
  9. Impostare i valori dei parametri da usare.
  10. Selezionare Avanti.
  11. Abilitare Crea un'attività di correzione.
  12. Verificare che creare un'identità gestita sia selezionata e che l'identità disponga delle autorizzazioni Collaboratore .
  13. Selezionare Rivedi e crea.

Dopo aver creato l'assegnazione dei criteri, la configurazione viene applicata a nuovi cluster Kubernetes o Kubernetes abilitati per Azure Arc creati nell'ambito dell'assegnazione dei criteri.

Per i cluster esistenti, potrebbe essere necessario eseguire manualmente un'attività di correzione. Questa attività richiede in genere da 10 a 20 minuti per l'assegnazione di criteri che avrà effetto.

Verificare un'assegnazione di criteri

  1. Nella portale di Azure passare a uno dei cluster Kubernetes abilitati per Azure Arc o del servizio Azure Kubernetes.
  2. Nella sezione Impostazioni della barra laterale selezionare GitOps.
    • Nell'elenco configurazioni verrà visualizzata la configurazione creata dall'assegnazione dei criteri.
  3. Nella sezione Risorse Kubernetes della barra laterale selezionare Spazi dei nomi e Carichi di lavoro.
    • Verrà visualizzato lo spazio dei nomi e gli artefatti creati dalla configurazione di Flux.
    • Verranno visualizzati gli oggetti descritti dai manifesti nel repository Git distribuito nel cluster.

Personalizzazione di un criterio

I criteri predefiniti illustrano gli scenari principali per l'uso di GitOps con Flux v2 nei cluster Kubernetes. Tuttavia, a causa delle limitazioni sul numero di parametri consentiti nelle assegnazioni di Criteri di Azure (massimo 20), non tutti i parametri sono presenti nei criteri predefiniti. Inoltre, per adattarsi al limite di 20 parametri, è possibile creare solo una singola kustomizzazione con i criteri predefiniti.

Se si dispone di uno scenario diverso dai criteri predefiniti, è possibile superare le limitazioni creando criteri personalizzati usando i criteri predefiniti come modelli. È possibile creare criteri personalizzati che contengono solo i parametri necessari e il resto del codice rigido, pertanto è possibile aggirare il limite di 20 parametri.

Passaggi successivi

Configurare Monitoraggio di Azure per i contenitori con cluster Kubernetes abilitati per Azure Arc.