我有一个名为config-volume的秘密卷。我想将该文件放在/ home / code / config文件夹中,这是其余配置文件所在的位置。为此,我将它安装为:
volumeMounts:
- name: config-volumes
- mountPath: /home/code/config
问题是,在部署之后,在/ home / code / config中我只有秘密文件,其余的都没有了
所以/ home / code / config是一个现有文件夹(非空),我怀疑volumeMount会覆盖该文件夹。
有没有办法可以在不覆盖所有内容的情况下完成?
答案 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
目录,其中包含内部秘密密钥的文件。