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/fluxConfigurations
tipo di risorsa) su larga scala nei cluster Kubernetes abilitati per Azure Arc () o del servizio Azure Kubernetes (Microsoft.Kubernetes/connectedClusters
Microsoft.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:
- 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.
- 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
- Nella portale di Azure passare a Criteri.
- Nella sezione Creazione della barra laterale selezionare Definizioni.
- Nella categoria "Kubernetes" scegliere la definizione predefinita dei criteri predefinita "Configurare i cluster Kubernetes con la configurazione GitOps specificata senza segreti".
- Selezionare Assegna.
- 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.
- Assegnare all'assegnazione dei criteri un nome e una descrizione facilmente identificabili.
- Assicurarsi che l'applicazione dei criteri sia impostata su Abilitato.
- Selezionare Avanti.
- Impostare i valori dei parametri da usare.
- Per altre informazioni sui parametri, vedere l'esercitazione sulla distribuzione di configurazioni di Flux v2.
- Quando si creano configurazioni di Flux, è necessario specificare un valore per uno (e solo uno) di questi parametri:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
repositoryRefCommit
.
- Selezionare Avanti.
- Abilitare Crea un'attività di correzione.
- Verificare che creare un'identità gestita sia selezionata e che l'identità disponga delle autorizzazioni Collaboratore .
- Per altre informazioni, vedere la guida introduttiva Creare un'assegnazione di criteri e l'articolo Correzione delle risorse non conformi con Criteri di Azure.
- 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
- Nella portale di Azure passare a uno dei cluster Kubernetes abilitati per Azure Arc o del servizio Azure Kubernetes.
- Nella sezione Impostazioni della barra laterale selezionare GitOps.
- Nell'elenco configurazioni verrà visualizzata la configurazione creata dall'assegnazione dei criteri.
- 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.