Openshift 如果变量不为空,请在容器的部署配置中设置环境变量

Openshift 如果变量不为空,请在容器的部署配置中设置环境变量,openshift,Openshift,我正在使用现有的Openshift部署配置,在那里我只能更改小部分 在容器配置中,环境变量的设置如下: env: - name: DATABASE_NAME valueFrom: configMapKeyRef: key: DATABASE_NAME name: ${DATABASE_CONFIG_MAP} 我现在的问题是,在其他步骤中创建的配置映射可能不包含该变量。是否可以在容器DC中使此环境变量成为可选的(或者更好,如果它是空字符串,则不设置环境变量)

我正在使用现有的Openshift部署配置,在那里我只能更改小部分

在容器配置中,环境变量的设置如下:

env:
- name: DATABASE_NAME
  valueFrom:
    configMapKeyRef:
      key: DATABASE_NAME
      name: ${DATABASE_CONFIG_MAP}
我现在的问题是,在其他步骤中创建的配置映射可能不包含该变量。是否可以在容器DC中使此环境变量成为可选的(或者更好,如果它是空字符串,则不设置环境变量)

目前,部署将失败,说明配置映射中不存在密钥

我知道我可以使用
envFrom
,但不幸的是,这在这个特定的部署配置中是不可能的


谢谢

有关设置的详细信息,请参阅的“环境变量中的可选配置映射”部分。我不确定您需要哪个版本的OpenShift。请运行
oc explain dc.spec.template.spec.containers.env.valueFrom.configMapKeyRef.Optional
。请参阅的“环境变量中的可选配置映射”部分我不确定的版本此操作需要OpenShift。有关设置的详细信息,请运行
oc explain dc.spec.template.spec.containers.env.valueFrom.configMapKeyRef.optional