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 avez suivi le guide de démarrage rapide et que vous avez configuré un fournisseur de Kubernetes pour App Configuration. Avant de continuer, veillez à compléter le guide de démarrage rapide Utiliser Azure App Configuration dans Azure Kubernetes Service .

Conseil / Astuce

Consultez les options permettant aux charges de travail hébergées dans Kubernetes d’accéder à Azure App Configuration.

Conditions préalables

Terminez le guide de démarrage rapide : Utilisez Azure App Configuration dans Azure Kubernetes Service.

Recharger des données à partir d’Azure App Configuration

  1. Ouvrez le fichier appConfigurationProvider.yaml situé dans le répertoire de déploiement . Ensuite, ajoutez la refresh section sous la configuration propriété. Il permet au fournisseur Kubernetes de recharger l’intégralité de la configuration chaque fois qu’il détecte une modification dans l’une des valeurs clés sélectionnées (celles commençant par Paramètres : et sans étiquette). Pour plus d’informations sur la surveillance des modifications de configuration, consultez les meilleures pratiques pour l’actualisation de la configuration.

    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
    

    Conseil / Astuce

    Vous pouvez définir la interval propriété de la refresh propriété pour spécifier la durée minimale entre les actualisations de configuration. Dans cet exemple, vous utilisez la valeur par défaut de 30 secondes. Choisissez une valeur plus élevée si vous devez réduire le nombre de demandes adressées à votre magasin App Configuration.

  2. Ouvrez le fichier deployment.yaml dans le répertoire de déploiement et ajoutez le contenu suivant à la spec.containers section. 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 obtenue à l’étape précédente. La page web ressemble à ceci :

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

  5. Mettez à jour les valeurs clés suivantes dans votre magasin App Configuration.

    Clé Valeur
    Paramètres :Message Bonjour à partir d’Azure App Configuration - maintenant avec des mises à jour actives !
  6. Après avoir actualisé le navigateur quelques fois, vous verrez le contenu mis à jour une fois le ConfigMap mis à jour en 30 secondes.

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

Recharger ConfigMap et Secret

Le fournisseur Kubernetes App Configuration génère des ConfigMaps ou des Secrets qui peuvent être utilisés en tant que variables d’environnement ou fichiers montés dans un volume. Ce tutoriel a montré comment charger la configuration à partir d’un fichier JSON à l’aide du fournisseur de configuration JSON .NET, qui recharge automatiquement la configuration chaque fois qu’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 des variables d’environnement pour la configuration, il 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 configuration, vous pouvez tirer parti d’outils tiers tels que stakater/Reloader, qui peuvent déclencher automatiquement des mises à jour propagées lors des modifications apportées à ConfigMaps ou Secrets.

Étapes suivantes

Pour en savoir plus sur le fournisseur Kubernetes Azure App Configuration, consultez Azure App Configuration référence du fournisseur Kubernetes.