首页 > 解决方案 > 更改运行在 Kubernetes 上的网络核心应用程序的配置

问题描述

我有一个 ASP.NET Core Worker 服务,它可以从appsettings.json. 这些设置只会在启动时生效,并且在服务运行时无法更改。该应用程序将在 Kubernetes 集群中运行。

在生产中部署时更改这些设置的最佳实践是什么?我需要做的是,更改设置并重新启动服务。

我可以想出这些解决方案:

  1. 映射appsetttings.json到卷,以便能够更改它,以便在重新启动容器时不会恢复 appsettings。
    • 我需要将appsettings.json文件移动到另一个文件夹然后root吗?有没有关于不将正在运行的应用程序映射到卷的问题?
  2. 更新容器环境变量以覆盖设置。
    • 重新启动容器时这些设置是否会恢复?)

还有其他想法吗?

标签: asp.net-corekubernetesappsettings.net-5

解决方案


根据您的应用程序 json 的内容,您可以将其存储在ConfigMapSecret中,然后将其挂载到 pod 中。

ConfigMap 和 Secret 都存储在 Kubernetes API 中,并且始终以只读方式挂载到 pod 中。请阅读提供的链接以了解如何在您的 pod 中创建和安装它们。


推荐阅读