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
Otevřete soubor appConfigurationProvider.yaml umístěný v adresáři nasazení. Potom přidejte
refresh
oddíl podconfiguration
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
vlastnostirefresh
. Pokud chcete snížit počet požadavků v obchodě App Configuration Store, můžete ho upravit na vyšší hodnotu.Otevřete soubor deployment.yaml v adresáři nasazení a do části přidejte následující obsah
spec.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"
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
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:
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 Po několikanásobné aktualizaci prohlížeče se po aktualizaci objektu ConfigMap během 30 sekund zobrazí aktualizovaný obsah.
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.