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

Ank*_*oku 12 kubernetes

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

volumeMounts:
  - name: config-volumes
  - mountPath: /home/code/config
Run Code Online (Sandbox Code Playgroud)

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

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

有没有办法可以在不覆盖一切的情况下完成这项工作?

Ste*_*van 8

您可以从GitHub问题中进行以下操作

containers:
- volumeMounts:
  - name: config-volumes
    mountPath: /home/code/config
    subPath: config
volumes:
- name: config-volumes
  configMap:
    name: my-config
Run Code Online (Sandbox Code Playgroud)

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


CJ *_*len 3

Kubernetes Secrets 作为一个目录安装,每个密钥作为该目录中的一个文件。因此,在您的情况下,config-volumes秘密被安装到/home/code/config,隐藏该目录之前的任何内容。

您可以将卷安装指定为:

volumeMounts:
  - name: config-volumes
  - mountPath: /home/code/config/config-volumes
Run Code Online (Sandbox Code Playgroud)

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