我在两个目录中有多个配置文件。例如,
我需要使用ConfigMap
将这些配置文件挂载到kubernetes pod的相同目录结构中。
尝试使用
kubectl create configmap --from-file=./conf.d --from-file=./conf.d/node1/child1.conf --from-file=./conf.d/node2/child2.conf.
正如预期的那样,创建的配置映射无法表达嵌套的目录结构。
是否可以从文件夹递归创建ConfigMap,并仍然将文件夹结构保留在ConfigMap的键入名称中 - 因为打算将这些ConfigMaps挂载到pod中?
不幸的是,目前不支持反映configmap中的目录结构。解决方法是表达目录层次结构,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:
name: testconfig
data:
file1: |
This is file1
file2: |
This is file2 in subdir directory
---
apiVersion: v1
kind: Pod
metadata:
name: testpod
spec:
restartPolicy: Never
containers:
- name: test-container
image: gcr.io/google_containers/busybox
command: [ "/bin/sh","-c", "sleep 1000" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: testconfig
items:
- key: file2
path: subdir/file2
- key: file1
path: file1