Déployez des applications de manière cohérente à l’échelle à l’aide de configurations Flux v2 et Azure Policy
Vous pouvez utiliser Azure Policy pour appliquer des configurations Flux v2 (type de ressource Microsoft.KubernetesConfiguration/fluxConfigurations
) à grande échelle sur des clusters Kubernetes (Microsoft.Kubernetes/connectedClusters
) ou AKS (Microsoft.ContainerService/managedClusters
) avec Azure Arc. Pour utiliser Azure Policy, sélectionnez une définition de stratégie intégrée, et créez une affectation de stratégie.
Avant d’affecter la stratégie qui crée des configurations flux, vous devez vous assurer que l’extension Flux est déployée sur vos clusters. Pour ce faire, affectez une stratégie qui déploie l’extension sur tous les clusters de l’étendue sélectionnée (tous les groupes de ressources d’un abonnement ou d’un groupe d’administration, ou sur des groupes de ressources spécifiques). Puis, au moment de la création de l’affectation de stratégie permettant de déployer les configurations, définissez les paramètres de la configuration de flux à appliquer aux clusters de cette étendue.
Pour permettre la séparation des préoccupations, vous pouvez créer plusieurs attributions de stratégies, chacune avec une configuration Flux v2 différente qui pointe vers une autre source. Par exemple, un dépôt Git peut être utilisé par les administrateurs de cluster, tandis que d’autres référentiels peuvent être utilisés par les équipes d’application.
Définitions de stratégie intégrées
Les définitions de stratégie intégrées suivantes prennent en charge ces scénarios :
Description | Stratégie |
---|---|
Installation de l’extension Flux (obligatoire pour tous les scénarios) | Configure installation of Flux extension on Kubernetes cluster |
Configuration de flux à l’aide du référentiel Git public (généralement un scénario de test) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Configuration de flux à l’aide d’un référentiel Git privé avec authentification SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Configuration de flux à l’aide d’un référentiel Git privé avec authentification HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Configuration de flux à l’aide d’un référentiel Git privé avec authentification de certificat d’autorité de certification HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Configuration de flux à l’aide d’un dépôt Git privé avec un secret K8s local | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Configuration de flux à l’aide de secrets keyVault et source de compartiment privé | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Configuration de flux à l’aide d’une source de compartiment privé et d’un secret K8s local | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Pour rechercher toutes les définitions de stratégie Flux v2, recherchez flux. Pour plus d’informations, consultez définitions intégrées Azure Policy pour les Kubernetes avec Azure Arc.
Prérequis
- Un ou plusieurs clusters Kubernetes avec Arc et/ou akS.
- Autorisations
Microsoft.Authorization/policyAssignments/write
sur l’étendue (abonnement ou groupe de ressources) pour créer les affectations de stratégie.
Créer une attribution de stratégie pour installer l’extension Flux
Pour qu’une stratégie applique des configurations Flux v2 à un cluster, l’extension Flux doit d’abord être installée sur le cluster. Pour vérifier que l’extension est installée sur chacun de vos clusters, affectez la définition de stratégie Configurer l’installation de l’extension Flux sur le cluster Kubernetes à l’étendue souhaitée.
- Dans le portail Azure, accédez à Stratégie.
- Dans la section Création de la barre latérale, sélectionnez Définitions.
- Recherchez la définition de stratégie intégrée Configurer l’installation de l’extension Flux sur le cluster Kubernetes, puis sélectionnez-la.
- Sélectionnez Attribuer une stratégie.
- Définissez Portée sur le groupe d’administration, l’abonnement ou le groupe de ressources auquel s’appliquera l’attribution de stratégie.
- Si vous souhaitez exclure des ressources de la portée d’attribution de la stratégie, définissez Exclusions.
- Attribuez à l’attribution de stratégie un nom d’affectation facilement identifiable et Description.
- Assurez-vous que l’option Application de la stratégie est définie sur Activée.
- Sélectionnez Vérifier + créer, puis sélectionnez Créer.
Créer une attribution de stratégie pour appliquer des configurations de flux
Ensuite, revenez à la liste Définitions de (dans la section Création de Stratégie) pour appliquer la définition de stratégie de configuration à la même étendue.
Recherchez et sélectionnez la définition de stratégie intégrée Configurer des clusters Kubernetes avec la configuration Flux v2 à l’aide du référentiel Git public, ou l’une des autres définitions de stratégie pour appliquer les configurations Flux.
Sélectionnez Attribuer une stratégie.
Définissez l’étendue sur la même étendue que celle que vous avez sélectionnée lors de l’affectation de la première stratégie, y compris les exclusions.
Attribuez à l’attribution de stratégie un nom d’affectation facilement identifiable et Description.
Assurez-vous que l’option Application de la stratégie est définie sur Activée.
Sélectionnez Suivant pour ouvrir l’onglet Paramètres.
Définissez les valeurs de paramètre à utiliser, à l’aide des noms de paramètres de la définition de stratégie.
- Pour plus d’informations sur les paramètres, consultez Paramètres pris en charge de GitOps (Flux v2).
- Quand vous créez des configurations Flux via une stratégie, vous devez fournir une valeur pour un (et un seul) des paramètres suivants :
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
,repositoryRefCommit
.
Sélectionnez Suivant pour ouvrir la tâche de correction.
Activez l’option Créer une tâche de correction.
Vérifiez que la case Créer une identité managée est cochée, et que Contributeur est listé dans la section Autorisations. Pour plus d’informations, consultez Démarrage rapide : Créer une attribution de stratégie pour identifier les ressources non conformes et corriger les ressources non conformes avec Azure Policy.
Sélectionnez Vérifier + créer, puis sélectionnez Créer.
La configuration est ensuite appliquée aux clusters créés au sein de l’étendue de l’affectation de stratégie.
Pour les clusters existants, vous devrez peut-être exécuter manuellement une tâche de correction. Cette tâche nécessite généralement 10 à 20 minutes pour que l’attribution de stratégie prenne effet.
Vérifier l’attribution de stratégie
- Dans le portail Azure, accédez à un cluster Kubernetes ou AKS avec Azure Arc au sein de l’étendue de l’affectation de stratégie.
- Dans le menu du service, sous Paramètres, sélectionnez GitOps. Dans la liste Configurations, vous devez voir la configuration créée par l’affectation de stratégie.
- Dans le menu du service, sous Ressources Kubernetes, sélectionnez Espaces de noms. Vous devez voir l’espace de noms créé par la configuration Flux.
Personnaliser une stratégie
Les stratégies intégrées couvrent les principaux scénarios d’utilisation de GitOps avec Flux v2 dans vos clusters Kubernetes. Toutefois, en raison de la limite des 20 paramètres autorisés dans les affectations Azure Policy, tous les paramètres ne sont pas inclus dans les stratégies intégrées. De plus, pour respecter cette limite de 20 paramètres, vous ne pouvez créer qu’une seule personnalisation avec les stratégies intégrées.
Si vous avez un scénario qui diffère des stratégies intégrées, vous pouvez dépasser ces limites en créant des stratégies personnalisées basées sur des stratégies intégrées en tant que modèles. Pour contourner la limite des 20 paramètres, créez des stratégies personnalisées qui contiennent uniquement les paramètres dont vous avez besoin, et codez en dur le reste.