Tutoriel : Utiliser la configuration dynamique dans Azure Kubernetes Service
Si vous utilisez Azure Kubernetes Service (AKS), ce tutoriel vous montre comment activer la configuration dynamique pour vos charges de travail dans AKS en tirant parti d’Azure App Configuration et de son fournisseur Kubernetes. Le tutoriel part du principe que vous parcourez le guide de démarrage rapide et que vous avez configuré un fournisseur Kubernetes App Configuration. Avant de continuer, vérifiez que vous terminez le guide de démarrage rapide Utiliser Azure App Configuration dans Azure Kubernetes Service.
Conseil
Consultez les options permettant aux charges de travail hébergées dans Kubernetes d’accéder à Azure App Configuration.
Prérequis
Terminez le guide de démarrage rapide : Utiliser Azure App Configuration dans Azure Kubernetes Service.
Conseil
Azure Cloud Shell est un interpréteur de commandes interactif gratuit qui vous permet d’exécuter les instructions de ligne de commande de cet article. Les outils Azure les plus courants sont préinstallés, y compris le SDK .NET Core. Si vous êtes connecté à votre abonnement Azure, lancez Azure Cloud Shell à partir de shell.azure.com. Pour en savoir plus sur Azure Cloud Shell, consultez notre documentation.
Ajouter une clé Sentinel
Une clé Sentinel est une clé que vous mettez à jour après avoir modifié toutes les autres clés. Votre application supervise la clé Sentinel. Lorsqu’un changement est détecté, votre application actualise toutes les valeurs de configuration. Cette approche permet de garantir la cohérence de la configuration dans votre application et de réduire le nombre total de demandes adressées à votre magasin App Configuration, par rapport au monitoring des changements de toutes les clés.
Ajoutez la valeur de clés suivante à votre magasin App Configuration. Pour plus d’informations sur l’ajout de clés-valeurs à un magasin avec le Portail Azure ou la CLI, consultez Créer une clé-valeur.
Clé | Valeur |
---|---|
Settings:Sentinel | 1 |
Recharger des données à partir d’Azure App Configuration
Ouvrez le fichier appConfigurationProvider.yaml situé dans le répertoire Deployment. Ensuite, ajoutez la section
refresh
sous la propriétéconfiguration
. Cette opération active l’actualisation de la configuration en surveillant la clé Sentinel.apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: endpoint: <your-app-configuration-store-endpoint> target: configMapName: configmap-created-by-appconfig-provider configMapData: type: json key: mysettings.json auth: workloadIdentity: managedIdentityClientId: <your-managed-identity-client-id> configuration: refresh: enabled: true monitoring: keyValues: - key: Settings:Sentinel
Conseil
Par défaut, le fournisseur Kubernetes interroge les paires clé-valeur de surveillance toutes les 30 secondes pour détecter les modifications éventuelles. Vous pouvez toutefois modifier ce comportement en définissant la propriété
interval
derefresh
. Si vous souhaitez réduire le nombre de demandes adressées à votre magasin App Configuration, vous pouvez choisir une valeur plus élevée.Ouvrez le fichier deployment.yaml dans le répertoire Déploiement et ajoutez le contenu suivant à la section
spec.containers
. Votre application charge la configuration à partir d’un fichier monté en volume généré par le fournisseur Kubernetes App Configuration. En définissant cette variable d’environnement, votre application peut utiliser l’interrogation pour surveiller les modifications apportées aux fichiers montés.env: - name: DOTNET_USE_POLLING_FILE_WATCHER value: "true"
Exécutez la commande suivante pour déployer la modification. Remplacez l’espace de noms si vous utilisez votre application AKS existante.
kubectl apply -f ./Deployment -n appconfig-demo
Ouvrez une fenêtre de navigateur et accédez à l’adresse IP que vous avez obtenue à l’étape précédente. La page web ressemble à ceci :
Mettez à jour les paires clé-valeur suivantes dans votre magasin App Configuration, en veillant à mettre à jour la clé Sentinel en dernier.
Clé Valeur Settings:Message Bonjour d’Azure App Configuration, avec désormais des mises à jour automatiques ! Settings:Sentinel 2 Après avoir actualisé plusieurs fois le navigateur, vous verrez le contenu mis à jour après la mise à jour de ConfigMap en 30 secondes.
Recharger ConfigMap et Secret
Le fournisseur Kubernetes App Configuration génère des éléments ConfigMap ou Secret qui peuvent être utilisés en tant que variables d’environnement ou fichiers montés en volume. Ce tutoriel a montré comment charger la configuration à partir d’un fichier JSON à l’aide du fournisseur de configuration .NET JSON, qui recharge automatiquement la configuration quand une modification est détectée dans le fichier monté. Par conséquent, votre application obtient automatiquement la configuration mise à jour chaque fois que le fournisseur Kubernetes App Configuration met à jour ConfigMap.
Si votre application dépend de variables d’environnement pour la configuration, elle peut nécessiter un redémarrage pour récupérer les valeurs mises à jour. Dans Kubernetes, le redémarrage de l’application peut être orchestré à l’aide de mises à jour propagées sur les pods ou conteneurs correspondants. Pour automatiser les mises à jour de la configuration, vous pouvez tirer parti d’outils tiers tels que stakater/Reloader, qui peuvent déclencher automatiquement des mises à jour propagées quand des modifications sont apportées aux éléments ConfigMap ou Secret.
Étapes suivantes
Pour en savoir plus sur le fournisseur Kubernetes Azure App Configuration, consultez Azure App Configuration référence du fournisseur Kubernetes.