mountPath会覆盖同一文件夹中的其余文件

时间:2016-09-28 15:12:36

标签: kubernetes

我有一个名为config-volume的秘密卷。我想将该文件放在/ home / code / config文件夹中,这是其余配置文件所在的位置。为此,我将它安装为:

volumeMounts:
  - name: config-volumes
  - mountPath: /home/code/config

问题是,在部署之后,在/ home / code / config中我只有秘密文件,其余的都没有了

所以/ home / code / config是一个现有文件夹(非空),我怀疑volumeMount会覆盖该文件夹。

有没有办法可以在不覆盖所有内容的情况下完成?

2 个答案:

答案 0 :(得分:5)

您可以执行以下操作,取自this GitHub issue

containers:
- volumeMounts:
  - name: config-volumes
    mountPath: /home/code/config
    subPath: config
volumes:
- name: config-volumes
  configMap:
    name: my-config

建议您将ConfigMap称为 my-config ,并且其中包含密钥 config

答案 1 :(得分:1)

Kubernetes Secrets作为目录挂载,each key as a file位于该目录中。所以在你的情况下,config-volumes秘密被挂载到/home/code/config,遮蔽了之前的目录。

您可以将音量指定为:

volumeMounts:
  - name: config-volumes
  - mountPath: /home/code/config/config-volumes

这将在config-volumes目录中提供config目录,其中包含内部秘密密钥的文件。