Teilen über


Lernprogramm: Verwenden der dynamischen Konfiguration in Azure Kubernetes Service

Wenn Sie Azure Kubernetes Service (AKS) verwenden, erfahren Sie in diesem Lernprogramm, wie Sie die dynamische Konfiguration für Ihre Workloads in AKS mithilfe der Azure-App-Konfiguration und des zugehörigen Kubernetes-Anbieters aktivieren. Im Lernprogramm wird davon ausgegangen, dass Sie die Schnellstartanleitung durcharbeiten und einen Kubernetes-Anbieter für die App-Konfiguration eingerichtet haben. Stellen Sie daher vor dem Fortfahren sicher, dass Sie die Schnellstartanleitung " Azure App-Konfiguration in Azure Kubernetes Service verwenden " abschließen.

Tipp

Unter den Optionen für Workloads, die in Kubernetes gehostet werden, können Sie auf Azure App Configuration zugreifen.

Voraussetzungen

Arbeiten Sie die Schnellstartanleitung unter Schnellstart: Verwenden von Azure App Configuration in Azure Kubernetes Service durch.

Erneutes Laden von Daten aus App Configuration

  1. Öffnen Sie die Datei "appConfigurationProvider.yaml " im Bereitstellungsverzeichnis . Fügen Sie dann den refresh Abschnitt unter der configuration Eigenschaft hinzu. Er ermöglicht es dem Kubernetes-Anbieter, die gesamte Konfiguration neu zu laden, wenn eine Änderung in einem der ausgewählten Schlüsselwerte erkannt wird (beginnend mit "Einstellungen": und ohne Bezeichnung). Weitere Informationen zum Überwachen von Konfigurationsänderungen finden Sie unter Bewährte Methoden für die Aktualisierung der Konfiguration.

    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
    

    Tipp

    Sie können die interval-Eigenschaft des refresh festlegen, um die Mindestzeit zwischen Konfigurationsaktualisierungen anzugeben. In diesem Beispiel verwenden Sie den Standardwert von 30 Sekunden. Stellen Sie einen höheren Wert ein, wenn Sie die Anzahl der Anfragen an Ihren App Configuration Store verringern müssen.

  2. Öffnen Sie die Datei deployment.yaml im Bereitstellungsverzeichnis , und fügen Sie dem spec.containers Abschnitt den folgenden Inhalt hinzu. Ihre Anwendung lädt die Konfiguration aus einer in ein Volume eingebundenen Datei, die der App Configuration-Kubernetes-Anbieter generiert. Durch Festlegen dieser Umgebungsvariable kann Ihre Anwendung Abfragen verwenden, um Änderungen in bereitgestellten Dateien zu überwachen.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Führen Sie den folgenden Befehl aus, um die Änderung bereitzustellen. Ersetzen Sie den Namespace, wenn Sie Ihre vorhandene AKS-Anwendung verwenden.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Öffnen Sie ein Browserfenster, und navigieren Sie zu der IP-Adresse, die im vorherigen Schritt abgerufen wurde. Die Webseite sieht folgendermaßen aus:

    Screenshot der Web-App mit alten Werten.

  5. Aktualisieren Sie die folgenden Schlüsselwerte in Ihrer App-Einstellungsdatenbank.

    Schlüssel Wert
    Einstellungen:Nachricht Hallo aus der Azure App Configuration – jetzt mit Live-Updates!
  6. Nachdem Sie den Browser ein paar Mal aktualisiert haben, wird der aktualisierte Inhalt angezeigt, sobald die ConfigMap in 30 Sekunden aktualisiert wurde.

    Screenshot der Web-App mit aktualisierten Werten.

ConfigMap und Geheimnis erneut laden

Der App Configuration-Kubernetes-Anbieter generiert ConfigMaps oder Geheimnisse, die als Umgebungsvariablen oder in Volumes eingebundene Dateien verwendet werden können. In diesem Lernprogramm wurde gezeigt, wie Sie die Konfiguration aus einer JSON-Datei mithilfe des .NET JSON-Konfigurationsanbieters laden, wodurch die Konfiguration automatisch neu geladen wird, wenn eine Änderung in der bereitgestellten Datei erkannt wird. Daher erhält Ihre Anwendung automatisch die aktualisierte Konfiguration, wenn der App-Konfigurations-Kubernetes-Anbieter die ConfigMap aktualisiert.

Wenn Ihre Anwendung von Umgebungsvariablen für die Konfiguration abhängig ist, muss möglicherweise ein Neustart erforderlich sein, um aktualisierte Werte aufzunehmen. In Kubernetes kann der Anwendungsneustart mithilfe von Rollupdates auf den entsprechenden Pods oder Containern koordiniert werden. Um Konfigurationsupdates zu automatisieren, können Sie Tools von Drittanbietern wie Stakater/Reloader nutzen, wodurch automatisch ein Rollupdate ausgelöst werden kann, wenn Änderungen an ConfigMaps oder Geheimnissen vorgenommen wurden.

Nächste Schritte

Weitere Informationen zum Azure App Configuration Kubernetes-Anbieter finden Sie unter Azure App Configuration Kubernetes-Anbieterreferenz.