Toepassingen consistent op schaal implementeren met flux v2-configuraties en Azure Policy
U kunt Azure Policy gebruiken om Flux v2-configuraties (Microsoft.KubernetesConfiguration/fluxConfigurations
resourcetype) op schaal toe te passen op Kubernetes -clusters met Azure Arc ofMicrosoft.Kubernetes/connectedClusters
AKS (Microsoft.ContainerService/managedClusters
). Als u Azure Policy wilt gebruiken, selecteert u een ingebouwde beleidsdefinitie en maakt u een beleidstoewijzing.
Voordat u het beleid toewijst waarmee Flux-configuraties worden gemaakt, moet u ervoor zorgen dat de Flux-extensie wordt geïmplementeerd in uw clusters. U kunt dit doen door een beleid toe te wijzen waarmee de extensie wordt geïmplementeerd voor alle clusters in het geselecteerde bereik (alle resourcegroepen in een abonnement of beheergroep of aan specifieke resourcegroepen). Wanneer u vervolgens de beleidstoewijzing maakt om configuraties te implementeren, stelt u parameters in voor de Flux-configuratie die moet worden toegepast op de clusters in dat bereik.
Als u scheiding van problemen wilt inschakelen, kunt u meerdere beleidstoewijzingen maken, elk met een andere Flux v2-configuratie die verwijst naar een andere bron. Eén Git-opslagplaats kan bijvoorbeeld worden gebruikt door clusterbeheerders, terwijl andere opslagplaatsen kunnen worden gebruikt door toepassingsteams.
Voorbeelden van ingebouwde beleidsdefinities
De volgende ingebouwde beleidsdefinities bieden ondersteuning voor deze scenario's:
Beschrijving | Beleid |
---|---|
Flux-extensie installeren (vereist voor alle scenario's) | Configure installation of Flux extension on Kubernetes cluster |
Flux-configuratie met behulp van openbare Git-opslagplaats (over het algemeen een testscenario) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Flux-configuratie met behulp van een persoonlijke Git-opslagplaats met SSH-verificatie | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Flux-configuratie met behulp van een persoonlijke Git-opslagplaats met HTTPS-verificatie | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Flux-configuratie met behulp van een privé-Git-opslagplaats met https-CA-certificaatverificatie | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Flux-configuratie met behulp van een persoonlijke Git-opslagplaats met lokaal K8s-geheim | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Flux-configuratie met behulp van persoonlijke bucketbron- en KeyVault-geheimen | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Flux-configuratie met persoonlijke bucketbron en lokaal K8s-geheim | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Als u alle Flux v2-beleidsdefinities wilt zoeken, zoekt u naar Flux. Zie ingebouwde Azure Policy-definities voor Kubernetes met Azure Arc voor meer informatie.
Vereisten
- Een of meer Kubernetes-clusters met Arc en/of AKS-clusters.
Microsoft.Authorization/policyAssignments/write
machtigingen voor het bereik (abonnement of resourcegroep) om de beleidstoewijzingen te maken.
Een beleidstoewijzing maken om de Flux-extensie te installeren
Als u wilt dat een beleid flux v2-configuraties toepast op een cluster, moet de Flux-extensie eerst op het cluster worden geïnstalleerd. Als u ervoor wilt zorgen dat de extensie op elk van uw clusters is geïnstalleerd, wijst u de installatie van de Flux-extensie configureren op kubernetes-clusterbeleidsdefinitie toe aan het gewenste bereik.
- Navigeer in Azure Portal naar Beleid.
- Selecteer Definities in de sectie Ontwerpen van de zijbalk.
- Zoek de installatie van de Flux-extensie configureren in de ingebouwde beleidsdefinitie van het Kubernetes-cluster en selecteer deze.
- Selecteer Beleid toewijzen.
- Stel het bereik in op de beheergroep, het abonnement of de resourcegroep waarop de beleidstoewijzing van toepassing is.
- Als u resources wilt uitsluiten van het bereik voor beleidstoewijzing, stelt u Uitsluitingen in.
- Geef de beleidstoewijzing een gemakkelijk identificeerbare toewijzingsnaam en beschrijving.
- Zorg ervoor dat beleids afdwinging is ingesteld op Ingeschakeld.
- Selecteer Controleren en maken en selecteer vervolgens Maken.
Een beleidstoewijzing maken om Flux-configuraties toe te passen
Ga vervolgens terug naar de lijst definities (in de sectie Ontwerpen van beleid) om de configuratiebeleidsdefinitie toe te passen op hetzelfde bereik.
Zoek en selecteer de Kubernetes-clusters configureren met flux v2-configuratie met behulp van de ingebouwde beleidsdefinitie van de openbare Git-opslagplaats of een van de andere beleidsdefinities om Flux-configuraties toe te passen.
Selecteer Beleid toewijzen.
Stel het bereik in op hetzelfde bereik dat u hebt geselecteerd bij het toewijzen van het eerste beleid, inclusief uitsluitingen.
Geef de beleidstoewijzing een gemakkelijk identificeerbare toewijzingsnaam en beschrijving.
Zorg ervoor dat beleids afdwinging is ingesteld op Ingeschakeld.
Selecteer Volgende om het tabblad Parameters te openen.
Stel de parameterwaarden in die moeten worden gebruikt met behulp van de parameternamen uit de beleidsdefinitie.
- Zie ondersteunde parameters voor GitOps (Flux v2) voor meer informatie over parameters.
- Bij het maken van Flux-configuraties via beleid moet u een waarde opgeven voor één (en slechts één) van deze parameters:
repositoryRefBranch
,repositoryRefTag
, ,repositoryRefSemver
.repositoryRefCommit
Selecteer Volgende om de hersteltaak te openen.
Schakel Een hersteltaak maken in.
Controleer of Een beheerde identiteit maken is ingeschakeld en of Inzender wordt vermeld in de sectie Machtigingen. Zie Quickstart voor meer informatie: Een beleidstoewijzing maken om niet-compatibele resources te identificeren en niet-compatibele resources te herstellen met Azure Policy.
Selecteer Controleren en maken en selecteer vervolgens Maken.
De configuratie wordt vervolgens toegepast op nieuwe clusters die zijn gemaakt binnen het bereik van beleidstoewijzing.
Voor bestaande clusters moet u mogelijk handmatig een hersteltaak uitvoeren. Deze taak duurt doorgaans 10 tot 20 minuten voordat de beleidstoewijzing van kracht wordt.
De beleidstoewijzing controleren
- Navigeer in Azure Portal naar een Kubernetes- of AKS-cluster met Azure Arc dat binnen het bereik van de beleidstoewijzing valt.
- Selecteer GitOps in het servicemenu onder Instellingen. In de lijst Configuraties ziet u de configuratie die is gemaakt door de beleidstoewijzing.
- Selecteer in het servicemenu onder Kubernetes-resources de optie Naamruimten. U ziet nu de naamruimte die is gemaakt door de Flux-configuratie.
Een beleid aanpassen
De ingebouwde beleidsregels hebben betrekking op de belangrijkste scenario's voor het gebruik van GitOps met Flux v2 in uw Kubernetes-clusters. Vanwege de limiet van 20 parameters die zijn toegestaan in Azure Policy-toewijzingen, worden niet alle parameters opgenomen in het ingebouwde beleid. Bovendien kan er slechts één kustomisatie worden gemaakt met het ingebouwde beleid om binnen deze limiet van 20 parameters te passen.
Als u een scenario hebt dat verschilt van het ingebouwde beleid, kunt u deze beperkingen overwinnen door aangepaste beleidsregels te maken met behulp van het ingebouwde beleid als sjablonen. Als u de limiet van 20 parameters wilt omzeilen, maakt u aangepaste beleidsregels die alleen de parameters bevatten die u nodig hebt en codeert u de rest.
Volgende stappen
- Azure Monitor for Containers instellen met Kubernetes-clusters met Azure Arc.
- Meer informatie over het implementeren van toepassingen met GitOps met Flux v2.