Kubernetes 用它的秘密更新Pod

Kubernetes 用它的秘密更新Pod,kubernetes,kubernetes-secrets,Kubernetes,Kubernetes Secrets,我有一个kubernetes部署,它使用环境变量的秘密。所以pod中有使用秘密的env变量 现在,我更新了部署清单json和机密json以删除一些变量,但当我应用这些文件时,我得到pod的CreateContainerConfigError,在其描述中我看到: 在Secret mynamespace/Secret mypod中找不到密钥FOO 我已从机密json和部署清单json中删除了此密钥。为什么我仍然会犯这个错误 我知道我可以删除部署并应用它以使其工作,但我不想这样做 处理这种情况的正确方

我有一个kubernetes部署,它使用环境变量的秘密。所以pod中有使用秘密的env变量

现在,我更新了部署清单json和机密json以删除一些变量,但当我应用这些文件时,我得到pod的CreateContainerConfigError,在其描述中我看到:

在Secret mynamespace/Secret mypod中找不到密钥FOO

我已从机密json和部署清单json中删除了此密钥。为什么我仍然会犯这个错误

我知道我可以删除部署并应用它以使其工作,但我不想这样做


处理这种情况的正确方法是什么?

我会对部署json执行
替换。如果原始部署具有常规更新设置,则将使用新部署配置创建新pod。如果启动正常,旧的将被删除


为了更安全,您可以在名称中创建一个带有某些版本指示符的新密码,请在新部署定义中引用新密码名称。这样,如果新吊舱出现问题或旧吊舱需要重新部署,旧的秘密仍然存在。

我明白了,这是有道理的。我试过了,但还是有同样的错误。但为什么它不会自动拾取它呢?因为我从部署和机密中删除了密钥,所以我希望它现在会出现这个问题。有什么想法吗?我不确定,还有一些猜测。。。但可能在秘密公布之前就改变了部署?我明白了。顺便说一句,我尝试过替换,但失败了,出现了相同的错误。@Ufder,
kubectl应用--force
还是
kubectl替换--force
有效?删除和重新创建资源,并可能绕过优雅的删除。@VikramHosakote希望尽可能避免强制删除!