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 eerst 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 wordt 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) waar u de beleidstoewijzingen maakt.

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 in de kubernetes-clusterbeleidsdefinitie toe aan het gewenste bereik.

  1. Navigeer in Azure Portal naar Beleid.
  2. Selecteer Definities in de sectie Ontwerpen van de zijbalk.
  3. Selecteer in de categorie 'Kubernetes' de installatie van de Flux-extensie configureren in de ingebouwde beleidsdefinitie van het Kubernetes-cluster .
  4. Selecteer Toewijzen.
  5. 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.
  6. Geef de beleidstoewijzing een gemakkelijk identificeerbare toewijzingsnaam en beschrijving.
  7. Zorg ervoor dat beleids afdwinging is ingesteld op Ingeschakeld.
  8. 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.

  1. Selecteer in de categorie Kubernetes 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.

  2. Selecteer Toewijzen.

  3. Stel het bereik in op hetzelfde bereik dat u hebt geselecteerd bij het toewijzen van het eerste beleid, inclusief uitsluitingen.

  4. Geef de beleidstoewijzing een gemakkelijk identificeerbare toewijzingsnaam en beschrijving.

  5. Zorg ervoor dat beleids afdwinging is ingesteld op Ingeschakeld.

  6. Selecteer Volgende en selecteer Vervolgens opnieuw om het tabblad Parameters te openen.

  7. Stel de parameterwaarden in die moeten worden gebruikt.

    • Zie de zelfstudie over het implementeren van Flux v2-configuraties voor meer informatie over parameters.
    • Bij het maken van Flux-configuraties moet u een waarde opgeven voor één (en slechts één) van deze parameters: repositoryRefBranch, repositoryRefTag, repositoryRefSemver, . repositoryRefCommit
  8. Selecteer Volgende om de hersteltaak te openen.

  9. Schakel Een hersteltaak maken in.

  10. Controleer of Een beheerde identiteit maken is ingeschakeld en of de identiteit inzendermachtigingen heeft. Zie Quickstart voor meer informatie: Een beleidstoewijzing maken om niet-compatibele resources te identificeren en niet-compatibele resources te herstellen met Azure Policy.

  11. Selecteer Controleren en maken en selecteer vervolgens Maken.

De configuratie wordt vervolgens toegepast op nieuwe Kubernetes- of AKS-clusters met Azure Arc 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

  1. Navigeer in Azure Portal naar een van uw Kubernetes- of AKS-clusters met Azure Arc.

  2. Selecteer GitOps in de Instellingen sectie van de zijbalk.

    In de lijst met configuraties ziet u de configuratie die is gemaakt door de beleidstoewijzing.

  3. Selecteer in de sectie Kubernetes-resources van de zijbalk naamruimten en workloads.

    U ziet nu de naamruimte en artefacten die zijn gemaakt door de Flux-configuratie. U ziet ook de objecten die worden beschreven door de manifesten in de Git-opslagplaats die in het cluster is geïmplementeerd.

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 beperkingen van het aantal parameters dat is toegestaan in Azure Policy-toewijzingen (maximaal 20), zijn niet alle parameters aanwezig in het ingebouwde beleid. Bovendien kan er slechts één kustomisatie worden gemaakt met de ingebouwde beleidsregels om binnen de limiet van 20 parameters te passen.

Als u een scenario hebt dat verschilt van het ingebouwde beleid, kunt u de beperkingen overwinnen door aangepaste beleidsregels te maken met behulp van het ingebouwde beleid als sjablonen. U kunt aangepaste beleidsregels maken die alleen de parameters bevatten die u nodig hebt en de rest coderen, waardoor de limiet van 20 parameters wordt omzeild.

Volgende stappen