kubernetes 如何在AKS中使用ConfigMap和在C#中使用Azure配置

o4tp2gmn  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(118)

在我们的应用程序中,我们使用Azure应用程序配置进行所有配置,并将其部署到AKS。我使用配置Map只是为了保持Azure应用程序配置端点和应用程序能够读取,但它不能从Azure应用程序配置读取值(尽管它能够连接)。是否有一个地方我应该告诉应用程序使用一个或另一个?现在我是这样加载的。

builder.Host.ConfigureAppConfiguration(config =>
{
    if (Environment.GetEnvironmentVariable("DockerEnv") == "Docker")
    {
        config.SetBasePath(Directory.GetCurrentDirectory())
        // setting configmap
        .AddJsonFile("ConfigiurationFilePath", optional: false, reloadOnChange: true);
    }
});

 builder.Configuration.AddAzureAppConfiguration(option =>
    option.Connect(new Uri(ConfigEndpoint), new DefaultAzureCredential()));

字符串
应用程序能够读取配置emdpoint并连接到Azure应用程序配置。但当我尝试通过Iconfiguration读取值时,configmap中的值成功返回,但应用程序配置中的值未返回。

_configuration.GetValue<string>("TestConfig")


我应该使用不同的方法来读取不同的配置,还是应该使用某种配置生成器来读取两者的值?

l7mqbcuq

l7mqbcuq1#

我能够通过将所有配置移动到一个地方来修复它。这里是代码。

builder.Host.ConfigureAppConfiguration((context, config) =>
{
    if (Environment.GetEnvironmentVariable("DockerEnv") == "Docker")
    {
        config.SetBasePath(Directory.GetCurrentDirectory())
        // setting configmap
        .AddJsonFile("ConfigiurationFilePath", optional: false, reloadOnChange: true);

        config.AddAzureAppConfiguration(option =>
        {
        option.Connect(new Uri("enpoint"), new DefaultAzureCredential()));

    }
});

字符串

相关问题