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
Öppna filen appConfigurationProvider.yaml i distributionskatalogen. Lägg sedan till avsnittet
refresh
under egenskapenconfiguration
. 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örrefresh
. Om du vill minska antalet begäranden till appkonfigurationsarkivet kan du justera det till ett högre värde.Ö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"
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
Ö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:
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 När du har uppdaterat webbläsaren några gånger visas det uppdaterade innehållet när ConfigMap har uppdaterats om 30 sekunder.
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.