Zelfstudie: Dynamische configuratie gebruiken in Azure Kubernetes Service
Als u Azure Kubernetes Service (AKS) gebruikt, ziet u in deze zelfstudie hoe u dynamische configuratie kunt inschakelen voor uw workloads in AKS door gebruik te maken van Azure-app-configuratie en de bijbehorende Kubernetes-provider. In de zelfstudie wordt ervan uitgegaan dat u de quickstart doorloopt en een App Configuration Kubernetes Provider hebt ingesteld. Zorg er dus voordat u verdergaat voor dat u de quickstart Use Azure-app Configuration in Azure Kubernetes Service voltooit.
Tip
Zie opties voor workloads die worden gehost in Kubernetes voor toegang tot Azure-app-configuratie.
Vereisten
Voltooi de quickstart: Gebruik Azure-app-configuratie in Azure Kubernetes Service.
Tip
Azure Cloud Shell is een gratis interactieve shell waarmee u de opdrachtregelinstructies in dit artikel kunt uitvoeren. Deze heeft algemene Azure-hulpprogramma's die vooraf zijn geïnstalleerd, met inbegrip van de .NET Core SDK. Als u bent aangemeld bij uw Azure-abonnement, start u Azure Cloud Shell vanaf shell.azure.com. Lees onze documentatie voor meer informatie over Azure Cloud Shell.
Een Sentinel-sleutel toevoegen
Een sentinel-sleutel is een sleutel die u bijwerkt nadat u de wijziging van alle andere sleutels hebt voltooid. Uw app bewaakt de sentinel-sleutel. Wanneer er een wijziging wordt gedetecteerd, vernieuwt uw app alle configuratiewaarden. Deze aanpak helpt bij het garanderen van de consistentie van de configuratie in uw app en vermindert het totale aantal aanvragen in uw App Configuration-archief, vergeleken met het bewaken van alle sleutels voor wijzigingen.
Voeg de volgende sleutelwaarde toe aan uw App Configuration-archief. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.
Sleutel | Weergegeven als |
---|---|
Instellingen:Sentinel | 1 |
Gegevens opnieuw laden vanuit app-configuratie
Open het bestand appConfigurationProvider.yaml in de map Deployment . Voeg vervolgens de
refresh
sectie onder deconfiguration
eigenschap toe. Hiermee kunt u configuratie vernieuwen door de sentinel-sleutel te bewaken.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
Tip
De Kubernetes-provider peilt standaard elke 30 seconden de controlesleutelwaarden voor wijzigingsdetectie. U kunt dit gedrag echter wijzigen door de
interval
eigenschap van derefresh
. Als u het aantal aanvragen in uw App Configuration-archief wilt verminderen, kunt u dit aanpassen aan een hogere waarde.Open het bestand deployment.yaml in de implementatiemap en voeg de volgende inhoud toe aan de
spec.containers
sectie. Uw toepassing laadt de configuratie van een volume-gekoppeld bestand dat door de Kubernetes-provider voor App Configuration wordt gegenereerd. Door deze omgevingsvariabele in te stellen, kan uw toepassing polling gebruiken om wijzigingen in gekoppelde bestanden te bewaken.env: - name: DOTNET_USE_POLLING_FILE_WATCHER value: "true"
Voer de volgende opdracht uit om de wijziging te implementeren. Vervang de naamruimte als u uw bestaande AKS-toepassing gebruikt.
kubectl apply -f ./Deployment -n appconfig-demo
Open een browservenster en navigeer naar het IP-adres dat u in de vorige stap hebt verkregen. De webpagina ziet er als volgt uit:
Werk de volgende sleutelwaarden in uw App Configuration-archief bij en zorg ervoor dat de sentinel-sleutel voor het laatst wordt bijgewerkt.
Sleutel Weergegeven als Instellingen:Bericht Hallo van Azure-app Configuratie - nu met live updates! Instellingen:Sentinel 2 Nadat u de browser een paar keer hebt vernieuwd, ziet u de bijgewerkte inhoud zodra de ConfigMap binnen 30 seconden is bijgewerkt.
ConfigMap en Secret opnieuw laden
App Configuration Kubernetes-provider genereert configuratie Kaarten of geheimen die kunnen worden gebruikt als omgevingsvariabelen of volume-gekoppelde bestanden. In deze zelfstudie werd gedemonstreerd hoe u de configuratie vanuit een JSON-bestand laadt met behulp van de .NET JSON-configuratieprovider, waarmee de configuratie automatisch opnieuw wordt geladen wanneer er een wijziging wordt gedetecteerd in het gekoppelde bestand. Als gevolg hiervan haalt uw toepassing automatisch de bijgewerkte configuratie op wanneer de App Configuration Kubernetes-provider de ConfigMap bijwerken.
Als uw toepassing afhankelijk is van omgevingsvariabelen voor configuratie, moet de toepassing mogelijk opnieuw worden opgestart om bijgewerkte waarden op te halen. In Kubernetes kan het opnieuw opstarten van de toepassing worden ingedeeld met behulp van rolling updates op de bijbehorende pods of containers. Als u configuratie-updates wilt automatiseren, kunt u gebruikmaken van hulpprogramma's van derden, zoals stakater/Reloader, die automatisch rolling updates kunnen activeren bij wijzigingen die zijn aangebracht in Config Kaarten of Geheimen.
Volgende stappen
Zie Azure-app Naslaginformatie over configuratie-Kubernetes-provider voor meer informatie over de Azure-app Configuratie-Kubernetes-provider.