当 secret 改变时,k8 会更新环境变量吗?

Does k8 update environment variables when secrets change?

虽然 运行 kubernetes 集群,但我注意到当一个秘密的值被改变时 pods that use it as an environment variable 不会 重建并且我的应用程序 没有收到SIGTERM事件。

虽然我知道使用 gdb 之类的方法更新 运行 进程的环境在技术上是可行的,但这是一件可怕的事情,我认为 k8s 不会这样做。

当这种情况发生时,是否有信号发送到受影响的进程,或者有其他处理方法?

不,在 ConfigMap 挂载、env-var 注入或任何其他情况下也不会发生任何此类事情;信号仅作为 Pod 终止

的 side-effect 发送到您的进程

innumerable solutions to do rolling update on ConfigMap or Secret change 但您必须配置您希望集群在什么情况下执行的操作,因为 one-size-fits-all 解决方案无法以所有方式工作kubernetes 全球使用