Kubernetes 什么会导致部署中的pod装载卷

Kubernetes 什么会导致部署中的pod装载卷,kubernetes,volume,configmap,Kubernetes,Volume,Configmap,首先发生的是 我们更新了configmap(密钥已更改),然后更新了部署以使用新密钥。 两次都很成功。 完成后,我们检查了事件,发现由于引用了旧密钥而导致卷装载错误 下面是我如何调查错误以及原因。 首先,我认为由于错误是由于引用了旧密钥,所以在更新configmap之后但在更新部署之前,一定是pod崩溃,因为卷装载只在pod启动时发生,现在我不太确定 我再次检查了事件,没有崩溃事件 我的问题是 除了导致卷装载的崩溃之外,还有其他原因吗? 如果没有,可能的原因是什么 更新卷中已使用的ConfigM

首先发生的是 我们更新了configmap(密钥已更改),然后更新了部署以使用新密钥。 两次都很成功。 完成后,我们检查了事件,发现由于引用了旧密钥而导致卷装载错误

下面是我如何调查错误以及原因。 首先,我认为由于错误是由于引用了旧密钥,所以在更新configmap之后但在更新部署之前,一定是pod崩溃,因为卷装载只在pod启动时发生,现在我不太确定

我再次检查了事件,没有崩溃事件

我的问题是 除了导致卷装载的崩溃之外,还有其他原因吗? 如果没有,可能的原因是什么


更新卷中已使用的ConfigMap时,最终也会更新投影的密钥。Kubelet正在检查装载的ConfigMap是否在每次定期同步时都是新的。但是,它正在使用基于本地ttl的缓存来获取ConfigMap的当前值。因此,从更新ConfigMap到将新密钥投影到pod的总延迟可以与kubelet同步周期(默认为1分钟)+kubelet中ConfigMaps缓存的ttl(默认为1分钟)一样长。您可以通过更新pod的一个注释触发立即刷新。

不是pod崩溃,而是pod创建导致卷装载。卷装载发生在pod创建时。因此,崩溃后,根据配置,将有另一次尝试创建pod-将导致挂载。除此之外,新的部署或配置映射更改将导致创建新的pod(以及相关更改),因此将进行装载。