我们正在为DB创建秘密文件,并将它们作为卷挂载到POD上,但是当我们更新POD时,不会刷新以获取新的更改。但是文档说它会自动刷新
https://kubernetes.io/docs/concepts/configuration/secret/
我们遗漏了什么吗?它是否需要代码端任何特定的逻辑?
Thanks in advance
Kubernetes本身目前还不支持此功能,但有一个功能正在开发中(https://github.com/kubernetes/kubernetes/issues/22368)。
您可以使用可用的自定义解决方案来实现相同的目标,其中一个流行的解决方案包括Reloader
。
你链接的文档描述了当你更新KubernetesSecret
对象时,挂载卷中的秘密值将得到更新。在pod内运行的应用程序需要在更新secret之后重新读取它,并且不会在更新secret本身时创建新的pod。
另外,请注意,在实际更新密钥和在卷中获得这些值之间可能会有一些延迟。
因此,从Secret时刻开始的总延迟更新到新密钥投射到Pod的时刻可以作为只要kubelet同步周期+缓存传播延迟,其中缓存传播延迟取决于所选择的缓存类型(它等于观察传输延迟,缓存的TTL,或相应的零)