Dela via


Självstudie: Använda dynamisk konfiguration i Azure Kubernetes Service

Om du använder Azure Kubernetes Service (AKS) visar den här självstudien hur du aktiverar dynamisk konfiguration för dina arbetsbelastningar i AKS genom att använda Azure App Configuration och dess Kubernetes-provider. Självstudien förutsätter att du har genomfört snabbstarten och konfigurerat en Kubernetes-leverantör för App Configuration, så innan du fortsätter måste du slutföra snabbstartsguiden Använd Azure App Configuration i Azure Kubernetes Service.

Tips/Råd

Se alternativ för arbetsbelastningar som finns i Kubernetes för åtkomst till Azure App Configuration.

Förutsättningar

Slutför snabbstarten: Använd Azure App Configuration i Azure Kubernetes Service.

Läsa in data på nytt från App Configuration

  1. Öppna filen appConfigurationProvider.yaml i distributionskatalogen . Lägg sedan till avsnittet refresh under egenskapen configuration . Det gör det möjligt för Kubernetes-providern att läsa in hela konfigurationen igen när den identifierar en ändring i något av de valda nyckelvärdena (de som börjar med Inställningar: och har ingen etikett). Mer information om hur du övervakar konfigurationsändringar finns i Metodtips för konfigurationsuppdatering.

    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
    

    Tips/Råd

    Du kan ange interval egenskapen för refresh för att ange den minsta tiden mellan konfigurationsuppdateringarna. I det här exemplet använder du standardvärdet 30 sekunder. Justera till ett högre värde om du behöver minska antalet begäranden som görs till appkonfigurationsarkivet.

  2. Öppna filen deployment.yaml i distributionskatalogen och lägg till följande innehåll i spec.containers avsnittet. Ditt program läser in konfigurationen från en volymmonterad fil som Kubernetes-providern för appkonfiguration genererar. Genom att ange den här miljövariabeln kan programmet använda avsökning för att övervaka ändringar i monterade filer.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Kör följande kommando för att distribuera ändringen. Ersätt namnområdet om du använder ditt befintliga AKS-program.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Öppna ett webbläsarfönster och navigera till DEN IP-adress som erhölls i föregående steg. Webbsidan ser ut så här:

    Skärmbild av webbappen med gamla värden.

  5. Uppdatera följande nyckelvärden i din appkonfigurationslagring.

    Nyckel Värde
    Inställningar:Meddelande Hej från Azure App Configuration – nu med liveuppdateringar!
  6. När du har uppdaterat webbläsaren några gånger visas det uppdaterade innehållet när ConfigMap har uppdaterats om 30 sekunder.

    Skärmbild av webbappen med uppdaterade värden.

Ladda om ConfigMap och Secret

Kubernetes-providern för appkonfiguration genererar ConfigMaps eller Hemligheter som kan användas som miljövariabler eller volymmonterade filer. Den här självstudien visade hur du läser in konfigurationen från en JSON-fil med hjälp av .NET JSON-konfigurationsprovidern, som automatiskt läser in konfigurationen igen när en ändring identifieras i den monterade filen. Därför hämtar programmet den uppdaterade konfigurationen automatiskt när Kubernetes-providern för appkonfiguration uppdaterar ConfigMap.

Om ditt program är beroende av miljövariabler för konfiguration kan det kräva en omstart för att hämta uppdaterade värden. I Kubernetes kan omstarten av programmet orkestreras med löpande uppdateringar på motsvarande poddar eller containrar. För att automatisera konfigurationsuppdateringar kan du använda verktyg från tredje part som stakater/Reloader, som automatiskt kan utlösa löpande uppdateringar vid ändringar i ConfigMaps eller Hemligheter.

Nästa steg

Mer information om Kubernetes-providern för Azure App Configuration finns i Referens för Azure App Configuration Kubernetes Provider.