目前的需求是修改 configMap 实时更新对应挂载的文件(不重启 pod),但目前测试下来,只能让 configMap 挂载整个目录,没法以 subPath 的形式挂载进去,这个是设计如此还是由于什么原因导致的,有没有办法实现实时的更新配置?因为挂载整个目录确实麻烦。
1
guanzhangzhang 72 天前
subPath 是文件 inode 挂在的,不是目录 mount --bind 挂载的
|
2
mightybruce 72 天前
这个是 k8s 设计, 官方文档写得明明白白。
|
3
mightybruce 72 天前 1
当你使用 subPath 方式挂载比如 secret 密钥文件时,那个 secret.json 文件会被绑定到容器中。但实际上,secret.json 是一个指向另一个位于带时间戳的文件夹(..8988_09_08_14_21_15.788262705 )中的 secret.json 的符号链接。当密钥更新时,符号链接会发生变化,但绑定到容器内的文件仍然保持不变。
|
4
birdhk 72 天前
我们用 secret 作为配置文件,是写了个 controller ,watch secret ,然后作为服务的一个 sidecar ,secret 有变化就重新生成变化
|