Kubernetes 如何忽略卷“的MountVolume.SetUp失败”错误;cofigmap卷:“配置地图”;“配置地图”;找不到
我已在部署文件中挂载configmap,但在部署期间通过oc create configmap命令有条件地创建configmap。有没有办法在部署中挂载路径。yaml但当configmap不存在时,它可以忽略该错误并以任何方式打开POD。为应用程序编写Kubernetes 如何忽略卷“的MountVolume.SetUp失败”错误;cofigmap卷:“配置地图”;“配置地图”;找不到,kubernetes,openshift,Kubernetes,Openshift,我已在部署文件中挂载configmap,但在部署期间通过oc create configmap命令有条件地创建configmap。有没有办法在部署中挂载路径。yaml但当configmap不存在时,它可以忽略该错误并以任何方式打开POD。为应用程序编写CRD和CRD控制器可以解决此问题。您可以为crd部署yaml,控制器将检查是否存在configmap。根据结果,控制器将更改部署yaml并部署它 请参考ConfigMapVolumeSource,您可以 可以找到可选参数: Specify whe
CRD
和CRD控制器可以解决此问题。您可以为crd
部署yaml,控制器将检查是否存在configmap
。根据结果,控制器
将更改部署
yaml并部署它 请参考ConfigMapVolumeSource,您可以
可以找到可选参数:
Specify whether the ConfigMap or it's keys must be define
因此,请尝试在卷属性中添加“可选:true
”:
volumes:
- name: config-volume
configMap:
# Provide the name of the ConfigMap containing the files you want
# to add to the container
name: special-config
optional: true
注:
:
在Pod规范中引用ConfigMap之前,必须先创建ConfigMap(,除非将ConfigMap标记为“可选”)。如果引用不存在的ConfigMap,Pod将不会启动。同样,对ConfigMap中不存在的密钥的引用将阻止pod启动
如果有帮助,请告诉我。我怀疑只有将配置映射中的键作为环境变量使用时,才可能出现这种情况。你解决问题了吗?