【发布时间】:2020-11-11 16:43:37
【问题描述】:
我正在尝试将配置数据添加为环境变量,但 Kubernetes 会警告变量名称无效。 configmap 数据包含 JSON 和属性文件。
spec:
containers:
- name: env-var-configmap
image: nginx:1.7.9
envFrom:
- configMapRef:
name: example-configmap
部署后,我没有看到它们添加到流程环境中。相反,我看到如下警告消息
配置映射 example-configmap 包含不是有效环境变量名称的键。只有具有有效名称的配置映射键才会被添加为环境变量。
但如果我直接将其添加为键值对,我认为它会起作用
env:
# Define the environment variable
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
# The ConfigMap containing the value you want to assign to SPECIAL_LEVEL_KEY
name: special-config
# Specify the key associated with the value
key: special.how
我在 configmap 数据中有数千个键值,我无法将它们全部添加为单独的键值对。
是否有任何简短的语法可以将 configmap 中的所有值添加为环境变量?
【问题讨论】:
-
您能否分享您尝试从中创建配置映射的文件。您的文件中的密钥无效,因此您需要检查这些密钥。
-
这就是我的 json 文件中的数据。 { “logging.level.com.ing”:“INFO”,“logging.level.org.springframework”:“INFO”,“server.port”:“\”8443\””,“spring.profiles.active” : "okd", "server.ssl.enabled": "\"true\"" }
-
是否可以添加如下 valueFrom: configMapKeyRef: key: {{ key }} name: sample-configmoap
-
请查看文档:ConfigMap Restrictions。请将此 configMap 的可重现示例提供为 @tarun khosla 提到的 yaml 文件
标签: kubernetes openshift