这是我的部署文件,我正在使用命令kubectl apply -f deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: scan-deployment
labels:
app: scan
spec:
replicas: 1
selector:
matchLabels:
app: scan
template:
metadata:
labels:
app: scan
spec:
volumes:
- name: shared-files
configMap:
name: shared-files
containers:
- name: scan-svc
image: scan:latest
imagePullPolicy: IfNotPresent
volumeMounts:
- name: shared-files
mountPath: /shared
这是我的文件test.txt
,位于./shared/test.txt
中,该文件是使用configMap配置的。
现在,问题是我的本地磁盘./shared/xml
,./shared/report
中有subFolder,并且我想用容器映射/shared
,但无法执行。我不想从这些子文件夹映射配置文件。部署的代码以xml和pdf格式创建报告,并将其保存在相应的文件夹中,我想将其映射到本地磁盘。
答案 0 :(得分:1)
Configmaps don't support recursive directories.从./shared
目录创建Configmap时,仅包含目录中的常规文件。子目录将被忽略。
您应该从./shared
目录创建一个常规卷,然后将其装入容器。
答案 1 :(得分:1)
如果您能告诉我们为什么无法执行此操作,那很好,但是我认为它会覆盖/shared
下的内容,这是预期的行为。
当您映射/shared
时;在容器中有/shared
的主机上,它将被正确映射,但是一旦创建configMap
,它将被{{1 }}。