Share via


Distribuire le applicazioni in modo coerente su larga scala usando configurazioni 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 (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 DELLA 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.
  • Microsoft.Authorization/policyAssignments/write autorizzazioni 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.

  1. Nella portale di Azure passare a Criteri.
  2. Nella sezione Creazione della barra laterale selezionare Definizioni.
  3. Nella categoria "Kubernetes" selezionare la definizione dei criteri predefinita Configura installazione dell'estensione Flux nel cluster Kubernetes.
  4. Seleziona Assegna.
  5. Impostare Ambito sul gruppo di gestione, la sottoscrizione o il gruppo di risorse a cui verrà applicata l'assegnazione dei criteri.
    • Se si desidera escludere qualsiasi risorsa dall'ambito di assegnazione dei criteri, impostare Esclusioni.
  6. Assegnare all'assegnazione dei criteri un nomedi assegnazione e una descrizione facilmente identificabili.
  7. Verificare che l'imposizione dei criteri sia impostata su Abilitato.
  8. 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 criteri) per applicare la definizione dei criteri di configurazione allo stesso ambito.

  1. Nella categoria "Kubernetes" selezionare la configurazione Configura cluster Kubernetes con la configurazione di Flux v2 usando la definizione di criteri predefinita del repository Git pubblico o una delle altre definizioni di criteri per applicare configurazioni Flux.

  2. Seleziona Assegna.

  3. Impostare Ambito sullo stesso ambito selezionato durante l'assegnazione del primo criterio, incluse eventuali esclusioni.

  4. Assegnare all'assegnazione dei criteri un nomedi assegnazione e una descrizione facilmente identificabili.

  5. Verificare che l'imposizione dei criteri sia impostata su Abilitato.

  6. Selezionare Avanti, quindi selezionare di nuovo Avanti per aprire la scheda Parametri .

  7. 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.
  8. Selezionare Avanti per aprire l'attività Correzione .

  9. Abilitare Crea un'attività di correzione.

  10. Verificare che l'opzione Crea un'identità gestita sia selezionata 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.

  11. 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

  1. Nella portale di Azure passare a uno dei cluster Kubernetes o del servizio Azure Kubernetes abilitati per Azure Arc.

  2. Nella sezione Impostazioni della barra laterale selezionare GitOps.

    Nell'elenco delle configurazioni dovrebbe essere 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 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 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 kustomization 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.

Passaggi successivi