Partager via


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

  1. 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 de refresh. Si vous souhaitez réduire le nombre de demandes adressées à votre magasin App Configuration, vous pouvez choisir une valeur plus élevée.

  2. 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"
    
  3. 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
    
  4. 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 :

    Capture d’écran de l’application web avec les anciennes valeurs.

  5. 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
  6. Après avoir actualisé plusieurs fois le navigateur, vous verrez le contenu mis à jour après la mise à jour de ConfigMap en 30 secondes.

    Capture d’écran de l’application web avec les valeurs mises à jour.

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.