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 Flux v2 (tipo di risorsa Microsoft.KubernetesConfiguration/fluxConfigurations
) su larga scala nei cluster Kubernetes abilitati per Azure Arc (Microsoft.Kubernetes/connectedClusters
) o servizio Azure Kubernetes (Microsoft.ContainerService/managedClusters
). Per usare Criteri di Azure, selezionare una definizione di criteri predefinita e creare un'assegnazione di criteri.
Prima di assegnare i criteri che creano configurazioni Flux, è necessario assicurarsi che l'estensione Flux venga distribuita nei cluster. A tale scopo, assegnare prima un criterio che distribuisce l'estensione a tutti i cluster nell'ambito selezionato (tutti i gruppi di risorse in una sottoscrizione o un gruppo di gestione o a gruppi di risorse specifici). Quindi, quando si crea l'assegnazione di criteri per distribuire le configurazioni, si impostano i parametri per la configurazione di Flux che verrà applicata ai cluster in tale ambito.
Per abilitare la separazione delle problematiche, è 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, mentre altri repository possono essere usati dai team dell'applicazione.
Definizioni di criteri predefiniti
Le definizioni di criteri predefinite seguenti forniscono supporto per questi scenari:
Descrizione | Criteri |
---|---|
Installazione dell'estensione Flux (necessaria per tutti gli scenari) | Configure installation of Flux extension on Kubernetes cluster |
Configurazione di Flux con repository Git pubblico (in genere uno scenario di test) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Configurazione di Flux con repository Git privato con autenticazione SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Configurazione di Flux tramite repository Git privato con l'autenticazione HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Configurazione di Flux con 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 di Flux con repository Git privato con segreto K8s locale | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Configurazione di Flux con l'origine bucket privata e i segreti di KeyVault | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Configurazione di Flux usando l'origine bucket privata e il segreto K8s locale | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Per trovare tutte le definizioni dei criteri Flux v2, cercare flusso. Per altre informazioni, vedere Definizioni predefinite di Criteri di Azure per Kubernetes con abilitazione di Azure Arc.
Prerequisiti
- Uno o più cluster Kubernetes abilitati per Arc e/o cluster del servizio Azure Kubernetes.
- Autorizzazioni
Microsoft.Authorization/policyAssignments/write
per l'ambito (sottoscrizione o gruppo di risorse) in cui verranno create le assegnazioni dei criteri.
Creare un'assegnazione di criteri per installare l'estensione Flux
Affinché un criterio applichi le configurazioni di Flux v2 a un cluster, l'estensione Flux deve prima essere installata nel cluster. Per assicurarsi che l'estensione sia installata in ognuno dei cluster, assegnare l'opzione Configura installazione dell'estensione Flux nella definizione dei criteri del cluster Kubernetes all'ambito desiderato.
- Nel portale di Azure passare a Criteri.
- Nella sezione Creazione della barra laterale selezionare Definizioni.
- Nella categoria "Kubernetes" selezionare la definizione di criteri predefinita Configurare l'installazione dell'estensione Flux nel cluster Kubernetes.
- Seleziona Assegna.
- Impostare l'Ambito sul gruppo di gestione, sulla sottoscrizione o sul gruppo di risorse in cui si applicherà l'assegnazione dei criteri.
- Se si desidera escludere qualsiasi risorsa dall'ambito di assegnazione dei criteri, impostare Esclusioni.
- Dare all'assegnazione dei criteri un nome di assegnazione e una Descrizione facilmente identificabili.
- Verificare che l'Applicazione dei criteri sia impostata su Abilitata.
- Selezionare Rivedi e crea e quindi Crea.
Creare un'assegnazione di criteri per applicare configurazioni Flux
Tornare quindi all'elenco Definizioni (nella sezione Creazione di Policy) per applicare la definizione dei criteri di configurazione allo stesso ambito.
Nella categoria "Kubernetes" selezionare la definizione di criteri predefinita Configurare i cluster Kubernetes con la configurazione di Flux v2 usando il repository Git pubblico o una delle altre definizioni di criteri per applicare configurazioni Flux.
Seleziona Assegna.
Impostare l'Ambito sullo stesso ambito selezionato durante l'assegnazione del primo criterio, incluse eventuali esclusioni.
Dare all'assegnazione dei criteri un nome di assegnazione e una Descrizione facilmente identificabili.
Verificare che l'Applicazione dei criteri sia impostata su Abilitata.
Selezionare Avanti, quindi selezionare di nuovo Avanti per aprire la scheda Parametri.
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 Flux, è necessario specificare un valore per uno (e solo uno) di questi parametri:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
,repositoryRefCommit
.
Selezionare Avanti per aprire l'attività Correzione.
Abilitare Crea un'attività di correzione.
Verificare che sia selezionata l'opzione Creare un'identità gestita e che l'identità disponga delle autorizzazioni di Collaboratore. Per altre informazioni, vedere Avvio rapido: Creare un'assegnazione di criteri per identificare le risorse non conformi e Correggere le risorse non conformi con Criteri di Azure.
Selezionare Rivedi e crea e quindi Crea.
La configurazione viene quindi applicata ai nuovi cluster Kubernetes abilitati per Azure Arc o del servizio Azure Kubernetes 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 rendere effettiva l'assegnazione dei criteri.
Verificare l'assegnazione dei criteri
Nel portale di Azure passare a uno dei cluster Kubernetes o del servizio Azure Kubernetes abilitati per Azure Arc.
Nella sezione Impostazioni della barra laterale selezionare GitOps.
Nell'elenco delle configurazioni dovrebbe essere visualizzata la configurazione creata dall'assegnazione dei criteri.
Nella sezione Risorse Kubernetes della barra laterale selezionare Spazi dei nomi e Carichi di lavoro.
Verranno visualizzati lo spazio dei nomi e gli artefatti creati dalla configurazione di Flux. Verranno visualizzati anche gli oggetti descritti dai manifesti nel repository Git distribuito nel cluster.
Personalizzare un criterio
I criteri predefiniti riguardano 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 rientrare nel limite di 20 parametri, è possibile creare solo una singola personalizzazione con i criteri predefiniti.
Se si ha uno scenario diverso dai criteri predefiniti, è possibile superare le limitazioni creando criteri personalizzati usando i criteri predefiniti come modelli. È possibile creare criteri personalizzati che contengano solo i parametri necessari e impostare come hardcoded il resto, quindi aggirare il limite di 20 parametri.