Kubernetes ConfigMap 挂载单个文件而不是目录

Kubernetes ConfigMap mount single file instead of directory

Kubernetes 是否可以将 ConfigMap 中的文件挂载到已有其他文件的目录中?例如

基本映像文件系统:

/app/
  main/
    main.py
    test.py

ConfigMap 包含一个文件 mounted.py,它应该与 main.py 和 test.py.

一起安装在 /app/main/ 中

部署后所需的文件系统:

/app/
  main/
    main.py
    test.py
    mounted.py

目前我看到的是ConfigMap挂载到一个新的目录,所以最接近的是这样的:

/app/
  main/
    main.py
    test.py
    mounted/
      mounted.py

如果我将 ConfigMap 挂载到 /app/main,那么它会破坏基础映像中的现有文件。例如

/app/
  main/
    mounted.py

有没有什么好的方法可以注入这样的单个文件? (在我的实际用例中实际上是多个文件。)我不希望为将由 ConfigMap 注入的所有内容设置单独的目录,因为它偏离了标准程序架构。

使用subPath:

volumeMounts:
  - name: config
    mountPath: /app/main/mounted.py
    subPath: mounted.py

mountPath 显示应该安装的位置,subPath 指向卷内的条目。