Sdílet prostřednictvím


Kurz: Použití dynamické konfigurace ve službě Azure Kubernetes Service

Pokud používáte Službu Azure Kubernetes Service (AKS), v tomto kurzu se dozvíte, jak povolit dynamickou konfiguraci úloh v AKS pomocí Aplikace Azure Konfigurace a jeho poskytovatele Kubernetes. Kurz předpokládá, že projdete rychlý start a máte nastaveného zprostředkovatele Kubernetes konfigurace aplikace, takže než budete pokračovat, ujistěte se, že jste dokončili rychlé zprovoznění Použít Aplikace Azure Configuration ve službě Azure Kubernetes Service.

Tip

Viz možnosti pro úlohy hostované v Kubernetes pro přístup ke konfiguraci Aplikace Azure.

Požadavky

Dokončete rychlý start: Použití konfigurace Aplikace Azure ve službě Azure Kubernetes Service.

Tip

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít ke spuštění pokynů příkazového řádku v tomto článku. Má předinstalované běžné nástroje Azure, včetně sady .NET Core SDK. Pokud jste přihlášení ke svému předplatnému Azure, spusťte Azure Cloud Shell z shell.azure.com. Další informace o Azure Cloud Shellu najdete v naší dokumentaci.

Přidání klíče sentinelu

Klíč sentinelu je klíč, který aktualizujete po dokončení změny všech ostatních klíčů. Vaše aplikace monitoruje klíč sentinelu. Když se zjistí změna, aplikace aktualizuje všechny konfigurační hodnoty. Tento přístup pomáhá zajistit konzistenci konfigurace ve vaší aplikaci a snížit celkový počet požadavků provedených v obchodě App Configuration Store v porovnání s monitorováním všech klíčů pro změny.

Do obchodu App Configuration Store přidejte následující klíč-hodnota. Další informace o tom, jak přidat hodnoty klíčů do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku, najdete v tématu Vytvoření hodnoty klíče.

Key Hodnota
Nastavení:Sentinel 0

Opětovné načtení dat z konfigurace aplikace

  1. Otevřete soubor appConfigurationProvider.yaml umístěný v adresáři nasazení. Potom přidejte refresh oddíl pod configuration vlastnost. Umožňuje aktualizaci konfigurace monitorováním klíče sentinelu.

    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

    Ve výchozím nastavení se poskytovatel Kubernetes každých 30 sekund dotazuje na hodnoty klíč-monitorování pro detekci změn. Toto chování však můžete změnit nastavením interval vlastnosti refresh. Pokud chcete snížit počet požadavků v obchodě App Configuration Store, můžete ho upravit na vyšší hodnotu.

  2. Otevřete soubor deployment.yaml v adresáři nasazení a do části přidejte následující obsahspec.containers. Vaše aplikace načte konfiguraci ze souboru připojeného ke svazku, který vygeneruje poskytovatel Kubernetes konfigurace aplikace. Nastavením této proměnné prostředí může vaše aplikace pomocí dotazování monitorovat změny v připojených souborech.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Spuštěním následujícího příkazu nasaďte změnu. Pokud používáte existující aplikaci AKS, nahraďte obor názvů.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Otevřete okno prohlížeče a přejděte na IP adresu získanou v předchozím kroku. Webová stránka vypadá takto:

    Snímek obrazovky webové aplikace se starými hodnotami

  5. Aktualizujte následující hodnoty klíč-hodnoty v obchodě App Configuration, abyste zajistili poslední aktualizaci klíče sentinelu.

    Key Hodnota
    Nastavení:Message Dobrý den z konfigurace Aplikace Azure - nyní s živými aktualizacemi!
    Nastavení:Sentinel 2
  6. Po několikanásobné aktualizaci prohlížeče se po aktualizaci objektu ConfigMap během 30 sekund zobrazí aktualizovaný obsah.

    Snímek obrazovky webové aplikace s aktualizovanými hodnotami

Opětovné načtení objektu ConfigMap a tajného kódu

Zprostředkovatel Kubernetes konfigurace aplikace generuje konfiguraci Mapy nebo tajné kódy, které je možné použít jako proměnné prostředí nebo soubory připojené ke svazku. Tento kurz ukázal, jak načíst konfiguraci ze souboru JSON pomocí zprostředkovatele konfigurace .NET JSON, který automaticky znovu načte konfiguraci při každém zjištění změny v připojeném souboru. V důsledku toho vaše aplikace získá aktualizovanou konfiguraci automaticky při každé aktualizaci objektu ConfigMap zprostředkovatele Kubernetes konfigurace aplikace.

Pokud je vaše aplikace závislá na proměnných prostředí pro konfiguraci, může vyžadovat restartování, aby mohla vyzvednout všechny aktualizované hodnoty. V Kubernetes je možné restartování aplikace orchestrovat pomocí kumulativních aktualizací na odpovídajících podech nebo kontejnerech. K automatizaci aktualizací konfigurace můžete využít nástroje třetích stran, jako je stakater/Reloader, které můžou automaticky aktivovat průběžné aktualizace při jakýchkoli změnách konfigurace Mapy nebo tajných kódů.

Další kroky

Další informace o poskytovateli Aplikace Azure Konfigurace Kubernetes najdete v tématu Aplikace Azure Referenční informace o poskytovateli konfigurace Kubernetes.