Udostępnij za pomocą


Samouczek: używanie konfiguracji dynamicznej w usłudze Azure Kubernetes Service

Jeśli używasz usługi Azure Kubernetes Service (AKS), w tym samouczku pokazano, jak włączyć konfigurację dynamiczną dla obciążeń w usłudze AKS, korzystając z usługi Azure App Configuration i jej dostawcy Kubernetes. Przyjęto w tym samouczku, że przeszedłeś przez przewodnik Szybki start i masz skonfigurowanego dostawcę Kubernetes dla App Configuration, więc przed kontynuowaniem upewnij się, że ukończyłeś przewodnik Szybki start skorzystania z Azure App Configuration w Azure Kubernetes Service.

Wskazówka

Zobacz opcje obciążeń hostowanych na platformie Kubernetes, aby uzyskać dostęp do usługi Azure App Configuration.

Wymagania wstępne

Zakończ przewodnik Quickstart: Użycie Azure App Configuration w Azure Kubernetes Service.

Ponowne ładowanie danych z usługi App Configuration

  1. Otwórz plik appConfigurationProvider.yaml znajdujący się w katalogu Wdrożenia . Następnie dodaj sekcję refresh pod właściwością configuration . Umożliwia on dostawcy Kubernetes ponowne ładowanie całej konfiguracji za każdym razem, gdy wykryje zmianę dowolnej z wybranych wartości klucza (zaczynających się od ustawień: i bez etykiety). Aby uzyskać więcej informacji na temat monitorowania zmian konfiguracji, zobacz Najlepsze rozwiązania dotyczące odświeżania konfiguracji.

    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
    

    Wskazówka

    Można ustawić właściwość interval elementu refresh, aby określić minimalny czas między odświeżeniami konfiguracji. W tym przykładzie użyjesz wartości domyślnej 30 sekund. Dostosuj do wyższej wartości, jeśli musisz zmniejszyć liczbę żądań wysyłanych do magazynu usługi App Configuration.

  2. Otwórz plik deployment.yaml w katalogu wdrożenia i dodaj następującą zawartość do spec.containers sekcji. Aplikacja ładuje konfigurację z pliku zamontowanego w woluminie, który generuje dostawca App Configuration dla Kubernetes. Ustawiając tę zmienną środowiskową, aplikacja może używać sondowania do monitorowania zmian w zainstalowanych plikach.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Uruchom następujące polecenie, aby wdrożyć zmianę. Zastąp przestrzeń nazw, jeśli używasz swojej istniejącej aplikacji AKS.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Otwórz okno przeglądarki i przejdź do adresu IP uzyskanego w poprzednim kroku. Strona internetowa wygląda następująco:

    Zrzut ekranu przedstawiający aplikację internetową ze starymi wartościami.

  5. Zaktualizuj następujące wartości klucza w magazynie usługi App Configuration.

    Klawisz Wartość
    Ustawienia:Komunikat Witaj z usługi Azure App Configuration — teraz z aktualizacjami na żywo!
  6. Po odświeżeniu przeglądarki kilka razy zobaczysz zaktualizowaną zawartość po zaktualizowaniu obiektu ConfigMap w ciągu 30 sekund.

    Zrzut ekranu przedstawiający aplikację internetową ze zaktualizowanymi wartościami.

Ponowne ładowanie obiektu ConfigMap i Secret

Dostawca Kubernetes usługi App Configuration generuje ConfigMaps lub Secrets, które mogą być używane jako zmienne środowiskowe lub pliki zainstalowane w woluminie. W tym samouczku pokazano, jak załadować konfigurację z pliku JSON przy użyciu dostawcy konfiguracji JSON platformy .NET, który automatycznie ponownie ładuje konfigurację za każdym razem, gdy w pliku zainstalowanym zostanie wykryta zmiana. W związku z tym aplikacja automatycznie pobiera zaktualizowaną konfigurację za każdym razem, gdy dostawca Kubernetes usługi App Configuration aktualizuje ConfigMap.

Jeśli aplikacja jest zależna od zmiennych środowiskowych dla konfiguracji, może wymagać ponownego uruchomienia w celu pobrania zaktualizowanych wartości. W rozwiązaniu Kubernetes ponowne uruchomienie aplikacji można organizować przy użyciu aktualizacji stopniowych na odpowiednich zasobnikach lub kontenerach. Aby zautomatyzować aktualizacje konfiguracji, możesz korzystać z narzędzi innych firm, takich jak stakater/Reloader, które mogą automatycznie wyzwalać aktualizacje stopniowe po wszelkich zmianach wprowadzonych w ConfigMaps lub Secrets.

Dalsze kroki

Aby dowiedzieć się więcej na temat dostawcy Kubernetes dla usługi Azure App Configuration, zobacz dokumentację dostawcy Kubernetes dla usługi Azure App Configuration.