以递归方式从文件创建配置映射

问题描述 投票:0回答:1

我在两个目录中有多个配置文件。例如,

  • conf.d / parentconf1.conf
  • con.d /节点1 / child1.conf
  • conf.d /节点2 / child2.conf

我需要使用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中?

kubernetes configmap
1个回答
1
投票

不幸的是,目前不支持反映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
© www.soinside.com 2019 - 2024. All rights reserved.