如何确定OpenShift 3中是否已经存在该卷?

时间:2019-01-29 06:22:19

标签: openshift openshift-3

我正在尝试在我的Jenkins管道中创建一个步骤,其中我想确定某个卷是否已经存在,如果不存在,那么我将发出oc set volume dc / mydeployment-config ...命令,如果它已经存在,那么我将只使用--overwrite选项。

我正在查看jsonpath以确定我的卷的预期名称是否已经存在,这就是我现在拥有的名称。

$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name

我也尝试过

oc set volume dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}

错误是

error: --list and --output may not be specified together

任何人都可以向正确的方向推我以确定正确的

oc set volume 
使用

命令?还是有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

要查找附加到DeploymentConfig的卷,应使用oc get dc,类似

oc get dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}

应显示您的卷是否已附加到此DeploymentConfig。


如果只是想查看已经存在的卷,则可以运行

oc get pv

查看创建的所有持久卷。