如何使 configmap 传播到 运行 pods(无需重新启动它们)
How to make configmap propagate to running pods (without restarting them)
更改 configmap 中的变量时,运行 pods 中的环境变量不会更新。
我们有一个无法轻易重启的有状态 pod。
正在尝试用
更新容器内的环境变量
export VARIABLE_TO_BE_UPDATED="new value"
持续了一段时间,但在短时间后自动回滚(可能与打开的会话有关)。
有什么方法可以在不重启 pod 的情况下以持久的方式(手动)更新这些环境变量?
您无法重新加载已装载的 ConfigMap。 ConfigMap 在容器启动之前从 API 中读取并转储到卷中,之后它保持静态。
另一种方法是使用侧卡容器,监视对这些 ConfigMap 的更改,刷新将与您的应用程序容器共享的某个卷中的副本,然后指示您的应用程序重新加载其配置。一个常见的实现是 Prometheus Rule Reloader.
更改 configmap 中的变量时,运行 pods 中的环境变量不会更新。
我们有一个无法轻易重启的有状态 pod。
正在尝试用
更新容器内的环境变量export VARIABLE_TO_BE_UPDATED="new value"
持续了一段时间,但在短时间后自动回滚(可能与打开的会话有关)。
有什么方法可以在不重启 pod 的情况下以持久的方式(手动)更新这些环境变量?
您无法重新加载已装载的 ConfigMap。 ConfigMap 在容器启动之前从 API 中读取并转储到卷中,之后它保持静态。
另一种方法是使用侧卡容器,监视对这些 ConfigMap 的更改,刷新将与您的应用程序容器共享的某个卷中的副本,然后指示您的应用程序重新加载其配置。一个常见的实现是 Prometheus Rule Reloader.