Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
如果使用 Azure Kubernetes 服务 (AKS),本教程介绍如何利用 Azure 应用配置及其 Kubernetes 提供程序为 AKS 中的工作负荷启用动态配置。 本教程假定你已完成快速入门并设置了应用程序配置 Kubernetes 提供程序,因此在继续操作之前,请确保已完成使用 Azure Kubernetes 服务中的 Azure 应用程序配置快速入门。
小窍门
请参阅选项,了解在 Kubernetes 中托管的用于访问 Azure 应用配置的工作负荷。
先决条件
完成快速入门: 在 Azure Kubernetes 服务中使用 Azure 应用配置。
从应用配置重载数据
打开位于部署目录中的 appConfigurationProvider.yaml 文件。 然后,在
refresh
属性下添加configuration
节。 它通过监视哨兵键来实现配置刷新。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
小窍门
可以设置
interval
属性refresh
以指定配置刷新之间的最短时间。 在此示例中,使用默认值 30 秒。 如果需要减少对应用配置存储的请求数量,请调整为更高的值。在部署目录中打开 deployment.yaml 文件,并将以下内容添加到该
spec.containers
部分。 应用程序会从应用程序配置 Kubernetes 提供程序生成的卷装载文件中加载配置。 通过设置此环境变量,应用程序 可以使用轮询来监视装载文件中的更改。env: - name: DOTNET_USE_POLLING_FILE_WATCHER value: "true"
运行以下命令来部署更改。 如果使用现有的 AKS 应用程序,请替换命名空间。
kubectl apply -f ./Deployment -n appconfig-demo
打开浏览器窗口,并导航到 上一步中获取的 IP 地址。 Web 页面如下所示:
在应用配置存储中更新以下键值。
密钥 价值 设置:消息 Azure 应用配置中的问候语 - 现可实时更新! 刷新浏览器几次后,ConfigMap 会在 30 秒内更新,然后你会看到更新的内容。
重新加载 ConfigMap 和密钥
应用程序配置 Kubernetes 提供程序生成可充当环境变量或卷装载文件的 ConfigMap 或机密。 本教程演示了如何使用 .NET JSON 配置提供程序从 JSON 文件加载配置,该提供程序在装载的文件中检测到更改时自动重新加载配置。 因此,每当应用配置 Kubernetes 提供程序更新 ConfigMap 时,应用程序都会自动获取更新的配置。
如果应用程序依赖于用于配置的环境变量,则可能需要重启才能选取任何更新的值。 在 Kubernetes 中,可以在相应的 Pod 或容器上使用滚动更新来安排应用程序重启。 若要自动执行配置更新,可以利用 stakater/Reloader 等第三方工具,在对 ConfigMaps 或机密进行任何更改时,这些工具可以自动触发滚动更新。
后续步骤
要详细了解 Azure 应用程序配置 Kubernetes 提供程序,请参阅 Azure 应用程序配置 Kubernetes 提供程序参考。