在运行 kubernetes 集群时,我注意到当一个 secret 的值发生变化时,使用它作为环境变量的pod不会重新构建,我的应用程序也不会收到SIGTERM
事件。
虽然我知道在技术上可以使用类似gdb的东西来更新正在运行的进程的环境,但这是一件可怕的事情,我认为 k8s 不会这样做。
当这种情况发生时,是否有信号被发送到受影响的进程,或者其他方式来处理这个问题?
在运行 kubernetes 集群时,我注意到当一个 secret 的值发生变化时,使用它作为环境变量的pod不会重新构建,我的应用程序也不会收到SIGTERM
事件。
虽然我知道在技术上可以使用类似gdb的东西来更新正在运行的进程的环境,但这是一件可怕的事情,我认为 k8s 不会这样做。
当这种情况发生时,是否有信号被发送到受影响的进程,或者其他方式来处理这个问题?
ConfigMap
不,在挂载、env-var 注入或任何其他情况下也不会发生任何此类事情;信号仅作为 Pod 终止的副作用发送到您的进程
有无数的解决方案可以进行滚动更新ConfigMap
或Secret
更改,但您必须配置您希望集群执行的操作以及在什么情况下执行操作,因为一刀切的解决方案不可能在所有方面都有效世界上都在使用 Kubernetes