首页 > 解决方案 > Kubernetes ConfigMap 挂载单个文件而不是目录

问题描述

在 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

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

标签: filekubernetesconfigurationconfigmap

解决方案


使用subPath

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

mountPath显示它应该安装在哪里,并指向subPath卷内的一个条目。


推荐阅读