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 arbetar igenom snabbstarten och har konfigurerat en Kubernetes-leverantör för appkonfiguration, så innan du fortsätter måste du slutföra snabbstarten Använd Azure App Configuration i Azure Kubernetes Service .

Dricks

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.

Dricks

Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra kommandoradsinstruktionerna i den här artikeln. Den har vanliga Azure-verktyg förinstallerade, inklusive .NET Core SDK. Om du är inloggad på din Azure-prenumeration startar du Azure Cloud Shell från shell.azure.com. Du kan läsa mer om Azure Cloud Shell genom att läsa vår dokumentation.

Lägga till en sentinel-nyckel

En sentinel-nyckel är en nyckel som du uppdaterar när du har slutfört ändringen av alla andra nycklar. Appen övervakar sentinel-nyckeln. När en ändring identifieras uppdaterar appen alla konfigurationsvärden. Den här metoden hjälper till att säkerställa konsekvensen i konfigurationen i din app och minskar det totala antalet begäranden som görs till appkonfigurationsarkivet, jämfört med övervakning av alla nycklar för ändringar.

Lägg till följande nyckelvärde i appkonfigurationsarkivet. Mer information om hur du lägger till nyckelvärden i ett arkiv med hjälp av Azure-portalen eller CLI finns i Skapa ett nyckelvärde.

Tangent Värde
Inställningar:Sentinel 1

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 möjliggör konfigurationsuppdatering genom att övervaka sentinel-nyckeln.

    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
    

    Dricks

    Som standard avsöker Kubernetes-providern övervakningsnyckelvärdena var 30:e sekund för ändringsidentifiering. Du kan dock ändra det här beteendet genom att interval ange egenskapen för refresh. Om du vill minska antalet begäranden till appkonfigurationsarkivet kan du justera det till ett högre värde.

  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 appkonfigurationsarkivet och se till att sentinel-nyckeln uppdateras senast.

    Tangent Värde
    Inställningar:Meddelande Hej från Azure App Configuration – nu med liveuppdateringar!
    Inställningar:Sentinel 2
  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.

Läs in ConfigMap och hemlighet igen

Kubernetes-providern för appkonfiguration genererar konfiguration Kartor 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, till exempel stakater/Reloader, som automatiskt kan utlösa löpande uppdateringar vid ändringar i Config Kartor 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.