首页 > 解决方案 > 有没有办法从文件创建的 configmap 在 pod 中配置环境变量?

问题描述

我有一个从 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 属性。

标签: kubernetesconfigmap

解决方案


在您的情况下,它将不起作用,因为您将数据定义为application.properties文件。它需要是key:value地图,看这里

在你的情况下:

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

推荐阅读