在我的k8s集群中,我有两种部署:一种用于使用给定的密钥对生成JWT,另一种用于使用相同的密钥对验证JWT。
两种部署都使用包含密钥/对的相同k8s机密。
当我想撤销/更新该密钥对时,如何在部署之间建立一致性?实际上,我希望所有生成的JWT都将得到验证,尽管存在两个不同的微服务,并且不一定会立即更新两个微服务的所有Pod以使用新密钥。
如何防止验证失败的错误警报?
答案 0 :(得分:1)
不可能有一个通用的解决方案来解决这个问题:您必须自己协调各方。
常见的解决方案是发布一个新的秘密,并让所有参与者都接受。
然后过一会儿停止发布旧版本并将其从所有地方删除。
答案 1 :(得分:0)
在您的Helm图表或Kustomize清单中,将机密内容的哈希值设置为Pod模板上的注释,当机密内容更改时,它将自动触发重新部署。
或者,您的软件可以检测文件中的更改并重新加载。