小编典典

在 Kubernetes 中更新 configmap 时重新启动 pod?

all

更改/更新配置图时,如何自动重启 Kubernetes pod 和与部署关联的 pod?


我知道有人谈论过当配置映射发生变化时自动重启 Pod 的能力,但据我所知,这在 Kubernetes 1.2 中尚不可用。

所以(我认为)我想做的是与使用配置映射的 pod 关联的部署资源的“滚动重启”。是否有可能,如果可以,如何在不更改实际模板中的任何内容的情况下强制滚动重启 Kubernetes
中的部署?这是目前最好的方法还是有更好的选择?


阅读 156

收藏
2022-07-04

共1个答案

小编典典

在配置地图更新时发出 pod
信号是一项正在开发的功能(https://github.com/kubernetes/kubernetes/issues/22368)。

您始终可以编写一个自定义 pid1 来通知 confimap 已更改并重新启动您的应用程序。

您还可以例如:在 2 个容器中挂载相同的配置映射,在第二个容器中公开一个 http
健康检查,如果配置映射内容的哈希发生变化,该检查将失败,并将其作为第一个容器的活性探测(因为容器中的pod
共享相同的网络命名空间)。当探测失败时,kubelet 将为您重新启动您的第一个容器。

当然,如果您不关心 pod 在哪些节点上,您可以简单地删除它们,复制控制器将为您“重新启动”它们。

2022-07-04