有没有一种方法可以通过从文件创建的configmap在pod中配置环境变量?

时间:2020-04-03 12:54:06

标签: kubernetes configmap

我有一个从application.properties文件创建的配置映射:

apiVersion: v1
data:
  application.properties: |-
    datasource-url: xxx
    web-service-url: https://xxx
kind: ConfigMap
  name: my-configmap
  namespace: mynamespace

我想从其中一些值创建环境变量,例如:

spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "/bin/sh", "-c", "env" ]
      env:
        - name: SPECIAL_LEVEL_KEY
          valueFrom:
            configMapKeyRef:
              name: my-configmap
              key: datasource-url

但是这不起作用,它无法从文件访问datasource-url属性。

1 个答案:

答案 0 :(得分:1)

在您的情况下,由于您将数据定义为application.properties文件,因此无法使用。它必须是key:value个地图,请参见here

根据您的情况:

apiVersion: v1
data:
  datasource-url: xxx
  web-service-url: https://xxx
kind: ConfigMap
  name: my-configmap
  namespace: mynamespace