Share via


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

  1. Open het bestand appConfigurationProvider.yaml in de map Deployment . Voeg vervolgens de refresh sectie onder de configuration 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 de refresh. Als u het aantal aanvragen in uw App Configuration-archief wilt verminderen, kunt u dit aanpassen aan een hogere waarde.

  2. 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"
    
  3. 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
    
  4. Open een browservenster en navigeer naar het IP-adres dat u in de vorige stap hebt verkregen. De webpagina ziet er als volgt uit:

    Schermopname van de web-app met oude waarden.

  5. 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
  6. Nadat u de browser een paar keer hebt vernieuwd, ziet u de bijgewerkte inhoud zodra de ConfigMap binnen 30 seconden is bijgewerkt.

    Schermopname van de web-app met bijgewerkte waarden.

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.