Distribuera program konsekvent i stor skala med flux v2-konfigurationer och Azure Policy
Du kan använda Azure Policyför att tillämpa Flux v2-konfigurationer (Microsoft.KubernetesConfiguration/fluxConfigurations
resurstyp) i stor skala på Azure Arc-aktiverade Kubernetes-kluster (Microsoft.Kubernetes/connectedClusters
) eller AKS-kluster (Microsoft.ContainerService/managedClusters
). Om du vill använda Azure Policy väljer du en inbyggd principdefinition och skapar en principtilldelning.
Innan du tilldelar principen som skapar Flux-konfigurationer måste du se till att Flux-tillägget distribueras till dina kluster. Du kan göra detta genom att tilldela en princip som distribuerar tillägget till alla kluster i det valda omfånget (alla resursgrupper i en prenumeration eller hanteringsgrupp eller till specifika resursgrupper). När du sedan skapar principtilldelningen för att distribuera konfigurationer anger du parametrar för Flux-konfigurationen som ska tillämpas på klustren i det omfånget.
För att möjliggöra separation av problem kan du skapa flera principtilldelningar, var och en med en annan Flux v2-konfiguration som pekar på en annan källa. Till exempel kan en Git-lagringsplats användas av klusteradministratörer medan andra lagringsplatser kan användas av programteam.
Inbyggda policydefinitioner
Följande inbyggda principdefinitioner ger stöd för dessa scenarier:
beskrivning | Policy |
---|---|
Installation av Flux-tillägg (krävs för alla scenarier) | Configure installation of Flux extension on Kubernetes cluster |
Fluxkonfiguration med offentlig Git-lagringsplats (vanligtvis ett testscenario) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Flux-konfiguration med privat Git-lagringsplats med SSH-autentisering | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Flux-konfiguration med privat Git-lagringsplats med HTTPS-autentisering | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Flux-konfiguration med privat Git-lagringsplats med HTTPS CA-certifikatautentisering | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Fluxkonfiguration med privat Git-lagringsplats med lokal K8s-hemlighet | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Flux-konfiguration med hjälp av privata Bucket-källa- och KeyVault-hemligheter | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Fluxkonfiguration med privat Bucket-källa och lokal K8s-hemlighet | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Om du vill hitta alla Flux v2-principdefinitioner söker du efter flöde. Mer information finns i Inbyggda Azure-principdefinitioner för Azure Arc-aktiverade Kubernetes.
Förutsättningar
- Ett eller flera Arc-aktiverade Kubernetes-kluster och/eller AKS-kluster.
Microsoft.Authorization/policyAssignments/write
behörigheter för omfånget (prenumeration eller resursgrupp) för att skapa principtilldelningarna.
Skapa en principtilldelning för att installera Flux-tillägget
För att en princip ska kunna tillämpa Flux v2-konfigurationer på ett kluster måste Flux-tillägget först installeras på klustret. För att säkerställa att tillägget är installerat på vart och ett av dina kluster tilldelar du definitionerna Konfigurera installation av Flux-tillägget i Kubernetes-klusterprincipen till önskat omfång.
- I Azure Portal går du till Princip.
- I avsnittet Redigering i sidofältet väljer du Definitioner.
- Leta upp den inbyggda principdefinitionen Konfigurera installation av Flux-tillägget i Kubernetes-klustret och välj det.
- Välj Tilldela princip.
- Ange omfånget till den hanteringsgrupp, prenumeration eller resursgrupp som principtilldelningen ska gälla för.
- Om du vill exkludera resurser från principtilldelningsomfånget anger du Undantag.
- Ge principtilldelningen ett lätt identifierbart tilldelningsnamn och en beskrivning.
- Se till att Principtillämpning är inställt på Aktiverad.
- Välj Granska + skapa och välj sedan Skapa.
Skapa en principtilldelning för att tillämpa Flux-konfigurationer
Gå sedan tillbaka till listan Definitioner (i avsnittet Redigering av princip) för att tillämpa konfigurationsprincipdefinitionen på samma omfång.
Leta reda på och välj konfigurationen Konfigurera Kubernetes-kluster med Flux v2 med inbyggd principdefinition för offentliga Git-lagringsplatser eller någon av de andra principdefinitionerna för att tillämpa Flux-konfigurationer.
Välj Tilldela princip.
Ange omfånget till samma omfång som du valde när du tilldelar den första principen, inklusive eventuella undantag.
Ge principtilldelningen ett lätt identifierbart tilldelningsnamn och en beskrivning.
Se till att Principtillämpning är inställt på Aktiverad.
Välj Nästa för att öppna fliken Parametrar .
Ange de parametervärden som ska användas med hjälp av parameternamnen från principdefinitionen.
- Mer information om parametrar finns i Parametrar som stöds av GitOps (Flux v2).
- När du skapar Flux-konfigurationer via en princip måste du ange ett värde för en (och bara en) av dessa parametrar:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
,repositoryRefCommit
.
Välj Nästa för att öppna reparationsaktiviteten.
Aktivera Skapa en reparationsaktivitet.
Kontrollera att Skapa en hanterad identitet är markerat och att Deltagare visas i avsnittet Behörigheter . Mer information finns i Snabbstart: Skapa en principtilldelning för att identifiera icke-kompatibla resurser och Åtgärda icke-kompatibla resurser med Azure Policy.
Välj Granska + skapa och välj sedan Skapa.
Konfigurationen tillämpas sedan på nya kluster som skapats inom omfånget för principtilldelning.
För befintliga kluster kan du behöva köra en reparationsuppgift manuellt. Den här uppgiften tar vanligtvis 10 till 20 minuter innan principtilldelningen börjar gälla.
Verifiera principtilldelningen
- I Azure Portal navigerar du till ett Azure Arc-aktiverat Kubernetes- eller AKS-kluster som omfattas av principtilldelningen.
- I tjänstmenyn går du till Inställningar och väljer GitOps. I listan Konfigurationer bör du se konfigurationen som skapats av principtilldelningen.
- I tjänstmenyn går du till Kubernetes-resurser och väljer Namnområden. Du bör se namnområdet som skapades av Flux-konfigurationen.
Anpassa en princip
De inbyggda principerna beskriver de viktigaste scenarierna för att använda GitOps med Flux v2 i dina Kubernetes-kluster. Men på grund av gränsen på 20 parametrar som tillåts i Azure Policy-tilldelningar ingår inte alla parametrar i de inbyggda principerna. För att passa in i den här gränsen på 20 parametrar kan endast en enda kustomisering skapas med de inbyggda principerna.
Om du har ett scenario som skiljer sig från de inbyggda principerna kan du övervinna dessa begränsningar genom att skapa anpassade principer med hjälp av de inbyggda principerna som mallar. Om du vill kringgå gränsen på 20 parametrar skapar du anpassade principer som bara innehåller de parametrar du behöver och hårdkodar resten.