问题现象
默认挂载 configMap 时,kubernetes 会覆盖掉挂载的整个目录,哪怕使用 items 也会导致整个目录被覆盖,那么如何实现挂在单个文件而不覆盖整个目录呢。下面说一下 kubernetes 中如何挂载单个文件而不是整个目录。
解决方案
使用 subPath
实际上 kubernets 本身提供了 volumeMounts.subPath 属性用于挂在单个文件而不是整个目录。
下面是一个示例:
1 | apiVersion: v1 |
注意事项
需要注意的是:
- 如果使用ConfigMap的subPath挂载为Container的Volume,
Kubernetes不会做自动热更新 - ConfigMap 哪怕不使用
subPath的挂载方式C#文件修改监听功能也没有触发,Golang的正常,怀疑可能和自己的实现有关,因为还有其他事情没有继续跟进,下周准备继续跟进一下。