Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何忽略卷“的MountVolume.SetUp失败”错误;cofigmap卷:“配置地图”;“配置地图”;找不到_Kubernetes_Openshift - Fatal编程技术网

Kubernetes 如何忽略卷“的MountVolume.SetUp失败”错误;cofigmap卷:“配置地图”;“配置地图”;找不到

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

我已在部署文件中挂载configmap,但在部署期间通过oc create configmap命令有条件地创建configmap。有没有办法在部署中挂载路径。yaml但当configmap不存在时,它可以忽略该错误并以任何方式打开POD。

为应用程序编写
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启动


如果有帮助,请告诉我。

我怀疑只有将配置映射中的键作为环境变量使用时,才可能出现这种情况。你解决问题了吗?